Ankorstore Internal + Public API (1.0.0)

Download OpenAPI specification:Download

API specification for Ankorstore internal use

Overview

API Specification/Schema

This API follows the Ankorstore API Specification which is based on the JSON:API specification.

Please give our specification a thorough read to understand how our request and response formats work.

Internal vs Public (external)

The internal vs public (external) separation is to facilitate documentation of more legacy endpoints that do not yet meet our modern API specification, and to provide additional supporting documentation for our Public API users.

In most cases you should add and document your endpoints in the Public external API.

This documentation is generated by combining both specifications.

You can find the generated public documentation here.

Applications

List Applications

Returns list of existing application for current authenticated user

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
    • "type": "application",
    • "attributes": {
      • "name": "My sandbox",
      • "developerEmail": "dev@my-app.com",
      • "clientId": "k322k7frs87e8w7hri3jkke7ry7",
      • "clientSecret": "v8s98g9s895h8929834"
      }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {}
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Create Application

Creates a new application. Endpoint returns client secret in the response payload, it can be seen only once.

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
name
required
string

Name of application being created (should be unique among other applications belonging to the user)

developerEmail
required
string

Developer email to contact in case of issues with created application

Responses

Request samples

Content type
application/vnd.api+json
No sample

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "application",
    • "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
    • "attributes": {
      • "name": "My sandbox",
      • "developerEmail": "dev@my-app.com",
      • "clientId": "k322k7frs87e8w7hri3jkke7ry7",
      • "clientSecret": "v8s98g9s895h8929834"
      },
    • "relationships": {
      • "webhookSubscriptions": {
        }
      }
    },
  • "included": [
    • {
      • "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
      • "type": "webhook-subscription",
      • "attributes": {
        }
      }
    ]
}

Update Application

Updates given properties in application

path Parameters
applicationId
required
string

Application ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
name
string
developerEmail
string

Responses

Request samples

Content type
application/vnd.api+json
{
  • "name": "string",
  • "developerEmail": "string"
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "application",
    • "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
    • "attributes": {
      • "name": "My sandbox",
      • "developerEmail": "dev@my-app.com",
      • "clientId": "k322k7frs87e8w7hri3jkke7ry7",
      • "clientSecret": "v8s98g9s895h8929834"
      },
    • "relationships": {
      • "webhookSubscriptions": {
        }
      }
    },
  • "included": [
    • {
      • "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
      • "type": "webhook-subscription",
      • "attributes": {
        }
      }
    ]
}

Delete Application

Delete application with given ID

path Parameters
applicationId
required
string

Application ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Regenerate Application credentials

Generate a new secret for application

path Parameters
applicationId
required
string

Application ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "application",
    • "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
    • "attributes": {
      • "name": "My sandbox",
      • "developerEmail": "dev@my-app.com",
      • "clientId": "k322k7frs87e8w7hri3jkke7ry7",
      • "clientSecret": "v8s98g9s895h8929834"
      },
    • "relationships": {
      • "webhookSubscriptions": {
        }
      }
    },
  • "included": [
    • {
      • "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
      • "type": "webhook-subscription",
      • "attributes": {
        }
      }
    ]
}

Brand Performance Metrics

Get brand performance metrics for the current month

Returns a list of metrics for the time range from the first day of the current month up to the current day with a comparison to the same period of the previous month, aggregated by day

query Parameters
periodType
string
Default: "currentMonth"
Enum: "currentMonth" "previousMonth" "previousThreeMonths"

One of the predefined period types

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": null
}

Brands

Get Brand details

Get Brand details

path Parameters
brandId
required
string <uuid>
query Parameters
fields[brands]
string

Brand's attributes separated by comma

include
string

A comma-separated list of resources to include (e.g: onboarding)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "type": "string",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "included": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "type": "string",
      • "attributes": { }
      }
    ]
}

Update Brand details

Updates Brand details

path Parameters
brandId
required
string <uuid>
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
status
string
Enum: "online" "offline" "coming_soon"

Responses

Request samples

Content type
application/vnd.api+json
{
  • "status": "online"
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "type": "string",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "included": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "type": "string",
      • "attributes": { }
      }
    ]
}

Get Brand's company

Gets Brand's company details

path Parameters
companyId
required
string <uuid>

Company ID (same as Brand ID)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "founded_in_year": 0,
      • "company_name": "string",
      • "company_invoice_description": "string",
      • "tax_number": "string",
      • "vat_exemption": true,
      • "vat_number": null,
      • "sole_trader_number": "string",
      • "above_intracomm_threshold": true
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Update Brand's company

Updates Brand's company details

path Parameters
companyId
required
string <uuid>

Company ID (same as Brand ID)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
founded_in_year
required
integer
company_name
required
string
company_invoice_description
required
string
vat_exemption
required
boolean
vat_number
string
tax_number
string
is_sole_trader
boolean
sole_trader_number
string
above_intracomm_threshold
boolean or null

Responses

Request samples

Content type
application/vnd.api+json
{
  • "founded_in_year": 1984,
  • "company_name": "My company",
  • "company_invoice_description": "Paris",
  • "tax_number": "123456824",
  • "vat_exemption": true
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "founded_in_year": 0,
      • "company_name": "string",
      • "company_invoice_description": "string",
      • "tax_number": "string",
      • "vat_exemption": true,
      • "vat_number": null,
      • "sole_trader_number": "string",
      • "above_intracomm_threshold": true
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Get Brand's shipping settings

Gets Brand's shipping settings

path Parameters
shippingSettingsId
required
string <uuid>

Shipping settings ID (same as Brand ID)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "publicAddress": {
        },
      • "shippingAddress": {
        },
      • "billingAddress": {
        },
      • "eoriNumber": "string",
      • "lucidNumber": "string",
      • "averageLeadTime": "string",
      • "whitelistCountries": [
        ]
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Update Brand's shipping settings

Updates Brand's shipping settings

path Parameters
shippingSettingsId
required
string <uuid>

Shipping settings ID (same as Brand ID)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
street
required
string
postalCode
required
string
city
required
string
countryCode
required
string
required
object
street
required
string
postalCode
required
string
city
required
string
countryCode
required
string
required
object
street
required
string
postalCode
required
string
city
required
string
countryCode
required
string
eoriNumber
required
string
lucidNumber
required
string
averageLeadTime
required
string
whitelistCountries
Array of strings or null

List of country iso codes

Responses

Request samples

Content type
application/vnd.api+json
{
  • "publicAddress": {
    • "street": "string",
    • "postalCode": "string",
    • "city": "string",
    • "countryCode": "string"
    },
  • "shippingAddress": {
    • "street": "string",
    • "postalCode": "string",
    • "city": "string",
    • "countryCode": "string"
    },
  • "billingAddress": {
    • "street": "string",
    • "postalCode": "string",
    • "city": "string",
    • "countryCode": "string"
    },
  • "eoriNumber": "string",
  • "lucidNumber": "string",
  • "averageLeadTime": "string",
  • "whitelistCountries": null
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "publicAddress": {
        },
      • "shippingAddress": {
        },
      • "billingAddress": {
        },
      • "eoriNumber": "string",
      • "lucidNumber": "string",
      • "averageLeadTime": "string",
      • "whitelistCountries": [
        ]
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Bulk Operations

Bulk Operations

Multiple operations on different resources by a single request

Request Body schema: application/json
required
Array of objects [ 1 .. 50 ] items
Array ([ 1 .. 50 ] items)
op
required
string
Enum: "add" "update"
required
object
type
required
id
required
object
brandId
integer
description
required
string

Invoiced item details. May contain linebreaks and/or markdown for formatting

category
string

Category used for item grouping and sub-totals. May contain linebreaks and/or markdown for formatting

quantity
required
number <float>

Number of units invoiced per item

vatRate
required
number <float>

Percentage of VAT to be applied

unitAmount
required
integer

Amount for one billable unit (in EUR & minor units)

totalAmount
integer

Total amount for the item, excluding VAT (in EUR & in minor units)

totalVat
integer

Total amount of VAT for the item (in EUR & in minor units)

totalAmountWithVat
integer

Total amount for the item, including VAT (in EUR & in minor units)

incurredAt
string <datetime>

The date that the service charge applies to

metadata
Array of strings

Metadata associated with the item. Keys in use:

  • merge_key: string to merge multiple items into a single line shown in the invoice

  • parity_factor: string to define a service items' scope if this is not already

                uniquely defined by the description + category
    
  • summary_title: string for a summary entry, for which this should be shown as a sub-item

  • summary_key: string on which to group items for the summary entry

  • summary_order: an explicit order (int) at which to show the summary entry, from low to high

  • item_category: category of the item in order to identify and apply specific processes by catagory (discount per category for instance)

Responses

Request samples

Content type
application/json
No sample

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Business event brand discounts

Fetch business event brand discounts from brand ids

Fetch business event brand discounts from brand ids

query Parameters
filter[id]
string

array of json encoded products ids

Responses

Response samples

Content type
application/vnd.api+json
{}

Candidate Brand

Get Candidate Brand

Returns Email and first name of candidate brand's user

path Parameters
candidateBrandId
required
string <uuid>

Candidate Brand ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "candidate-brands",
    • "id": "1ed0283e-68a2-6108-917d-0242ac120007",
    • "attributes": {
      • "email": "julien.stanek@ankorstore.com",
      • "firstName": "Tomas"
      }
    }
}

Cart

Get counters about cart items

Get counters about cart items

path Parameters
itemCounterId
required
string <uuid>

Item Counter ID (same as Retailer ID)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "main": 0,
      • "savedForLater": 0
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Get cart summary

Get cart summary

path Parameters
cartSummaryId
required
string <uuid>

Cart Summary ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "summary": {
        },
      • "fees": [
        ],
      • "taxes": [
        ],
      • "discounts": [
        ]
      }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "meta": {
    • "isFirstPurchase": true
    }
}

Get all carts and items data

Get all carts and items data

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": { },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Get one cart and items data

Get one cart and items data

path Parameters
id
required
string <uuid>

Cart ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": { },
    • "relationships": {
      • "list": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Change the content of a cart's items (adds, remove or change their quantity)

Change the content of a cart's items (adds, remove or change their quantity)

path Parameters
id
required
string <uuid>

Cart ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
required
object
id
required
quantity
required
integer >= 0

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "items": {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "quantity": 0
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": { },
    • "relationships": {
      • "list": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Get all Retailer's purchasing lists

Get all Retailer's purchasing lists

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Get Retailer's purchasing list

Get Retailer's purchasing list

path Parameters
purchasingListId
required
string <uuid>

Purchasing List ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "type": "saved_for_later",
      • "name": "string",
      • "totalAmount": {
        },
      • "selectionTotalAmount": {
        },
      • "totalItemCount": 0
      },
    • "relationships": {
      • "items": {
        },
      • "itemAggregates": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Update a Retailer's purchasing list content

Update a Retailer's purchasing list content

path Parameters
purchasingListId
required
string <uuid>

Purchasing List ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "type": "saved_for_later",
      • "name": "string",
      • "totalAmount": {
        },
      • "selectionTotalAmount": {
        },
      • "totalItemCount": 0
      },
    • "relationships": {
      • "items": {
        },
      • "itemAggregates": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Update a Retailer's purchasing list selection

Update a Retailer's purchasing list selection

path Parameters
purchasingListId
required
string <uuid>

Purchasing List ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "type": "saved_for_later",
      • "name": "string",
      • "totalAmount": {
        },
      • "selectionTotalAmount": {
        },
      • "totalItemCount": 0
      },
    • "relationships": {
      • "items": {
        },
      • "itemAggregates": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Move items between two Retailer's purchasing lists

Move items between two Retailer's purchasing lists

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": { },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Catalog Export

Read all catalog exports sorted by descending creation date

Read all catalog exports sorted by descending creation date

Responses

Response samples

Content type
application/vnd.api+json
{}

Read all catalog exports sorted by descending creation date

Read all catalog exports sorted by descending creation date

Responses

Response samples

Content type
application/vnd.api+json
{}

Create new catalog export related to authenticated brand

Create new catalog export related to authenticated brand

Request Body schema: application/vnd.api+json
type
required
string

Type of Catalog Export to create

Responses

Request samples

Content type
application/vnd.api+json
{
  • "type": "string"
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Get Catalog Export

Get Catalog Export

path Parameters
catalogExportUuid
required
string <uuid>

Catalog Export UUID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{}

Catalog Integration

Create a new product spreadsheet mapping

Create a new product spreadsheet mapping

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
object
type
string
object
name
string
required
Array of objects
Array
identifier
string
field
string or integer or null
missingValue
string or null
emptyValue
string or null
behavior
string or null

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "attributes": {
      • "name": "string",
      • "configuration": [
        ]
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string"
    },
  • "data": {
    • "type": "string",
    • "id": "string",
    • "attributes": {
      • "name": "Mapping 1",
      • "configuration": [
        ]
      }
    }
}

Returns list of product spreadsheet mappings

Returns list of product spreadsheet mappings for the current authenticated user

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • null
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Get product spreadsheet mapping

Get Product spreadsheet mapping

path Parameters
productSpreadsheetMappingId
required
string <uuid>
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "links": {
    • "self": "string"
    },
  • "data": {
    • "type": "string",
    • "id": "string",
    • "attributes": {
      • "uuid": "string",
      • "name": 0,
      • "user_id": 0,
      • "is_custom": true,
      • "configuration": [
        ]
      },
    • "links": {
      • "self": "string"
      }
    }
}

Create a new import batch with a google spreadsheet

Create a new import batch with a google spreadsheet

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
object
type
string
object
required
object
spreadsheet_url
required
string
drive_url
required
string
workflow
required
string
Enum: "import" "replace" "update"

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "attributes": {
      • "payload": {
        },
      • "workflow": "import"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {}
}

Create a new import batch with a csv spreadsheet

Create a new import batch with a csv spreadsheet

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
object
type
string
object
required
object
spreadsheet_upload_file_id
required
string
file_spreadsheet_sheet
integer >= 0
mapping_id
string
workflow
required
string
Enum: "import" "replace" "update"

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "attributes": {
      • "payload": {
        },
      • "workflow": "import"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "product-integration-batches",
    • "id": "27",
    • "attributes": {
      • "payload": {
        },
      • "workflow": "import"
      }
    }
}

Create a new import batch with a xlsx spreadsheet

Create a new import batch with a xlsx spreadsheet

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
object
type
string
object
required
object
spreadsheet_upload_file_id
required
string
file_spreadsheet_sheet
integer >= 0
mapping_id
string
workflow
required
string
Enum: "import" "replace" "update"

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "attributes": {
      • "payload": {
        },
      • "workflow": "import"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "product-integration-batches",
    • "id": "27",
    • "attributes": {
      • "payload": {
        },
      • "workflow": "import"
      }
    }
}

Returns list of Integrations for the current authenticated Brand

Returns list of Integrations for the current authenticated Brand

query Parameters
page
integer >= 1
Default: 1

Results page number.

perPage
integer [ 1 .. 50 ]
Default: 50

Number of items returned per page.

sort
string
Default: "id"
Enum: "id" "status" "type" "platform_product_id" "external_product_id" "internal_product_id" "product_updated_at" "integrated_at" "created_at" "updated_at"

Property to sort results by.

filter[hasIssues]
boolean

Keep only results with issues (true) or without issues (false).

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • null
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Get Integration Item

Product Integration Item

path Parameters
catalogIntegrationId
required
string <uuid>
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "integrations",
    • "id": "1ed3fd06-050a-6a00-8009-0242ac120003",
    • "attributes": {
      • "id": 9,
      • "brand_id": 22408,
      • "type": "rutter",
      • "platform": null,
      • "status": "integrated",
      • "platform_product_id": "7636912570603",
      • "external_product_id": "198d8bbc-cdb7-469c-a4f8-472e0d1841ca",
      • "internal_product_id": null,
      • "internal_state": {
        },
      • "issues": [ ],
      • "internal_state_updated_at": "2022-09-30T14:27:32.793045Z",
      • "integrated_at": null,
      • "created_at": "2022-08-05T13:32:31.713000Z",
      • "updated_at": "2022-09-30T14:27:32.811189Z"
      },
    }
}

Update Catalog Integration

Update the catalog integration

path Parameters
catalogIntegrationId
required
string <uuid>
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/json
object
type
string
id
string
object
object
name
string
description
string
unit_multiplier
integer
currency
string
discount_rate
integer
retail_price
integer
wholesale_price
integer
original_wholesale_price
integer
vat_rate
integer
currency_rate
integer
Array of objects
Array
id
integer
Array of objects
Array
name
string
value
string
Array of objects
Array
name
string
made_in
integer
Array of objects
Array
id
null
sku
string
ian
string
currency_rate
integer
currency
string
object
object
Array of objects
Array of objects
name
string
images
Array of arrays

Responses

Request samples

Content type
application/json
{
  • "data": {
    • "type": "integrations",
    • "id": "1ed3fd06-050a-6a00-8009-0242ac120003",
    • "attributes": {
      • "internal_state": {
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "integrations",
    • "id": "1ed3fd06-050a-6a00-8009-0242ac120003",
    • "attributes": {
      • "id": 9,
      • "brand_id": 22408,
      • "type": "rutter",
      • "platform": null,
      • "status": "integrated",
      • "platform_product_id": "7636912570603",
      • "external_product_id": "198d8bbc-cdb7-469c-a4f8-472e0d1841ca",
      • "internal_product_id": null,
      • "internal_state": {
        },
      • "issues": [ ],
      • "internal_state_updated_at": "2022-09-30T14:27:32.793045Z",
      • "integrated_at": null,
      • "created_at": "2022-08-05T13:32:31.713000Z",
      • "updated_at": "2022-09-30T14:27:32.811189Z"
      },
    }
}

Catalog integration configuration of a brand

Returns the catalog integration configuration of a brand

path Parameters
brandConfigUuid
required
string <uuid>

Catalog integration configuration UUID of a brand

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "images_google_folder_url": "string",
      • "generated_google_spreadsheet": {
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Custom endpoint to generate empty spreadsheet for authenticated brand

Custom endpoint to generate empty spreadsheet for authenticated Brand

path Parameters
brandConfigUuid
required
string <uuid>

Brand configuration ID

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Custom endpoint to delete spreadsheet related to authenticated brand

Custom endpoint to delete related spreadsheet for authenticated Brand

path Parameters
brandConfigUuid
required
string <uuid>

Brand configuration ID

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Update batch of integrations

Update the product integrations of the user

query Parameters
filter[id]
Array of strings <uuid>

Product integration ID

filter[status]
Array of strings

Product integration status

filter[hasIssues]
boolean

Apply only to results with issues (true) or without issues (false).

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
required
object
vatRate
number <float>
madeIn
string
unitMultiplier
number <integer>
categories
Array of strings <uuid>

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "internalState": {
      • "vatRate": 0,
      • "madeIn": "string",
      • "unitMultiplier": 0,
      • "categories": [
        ]
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Delete batch of integrations

Delete batch of integrations

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Number of imported integrations for authenticated brand

Number of imported integrations for authenticated brand

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "meta": {
    • "products_total_count": 0,
    • "products_without_issues_total_count": 0
    }
}

Product Integrations bulk approval

Approve all product integrations of a brand. Filters may be applied.

query Parameters
filter[status]
Array of strings

Product integration statuses

filter[hasIssues]
boolean

Apply only to results with issues (true) or without issues (false).

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Product Integrations bulk approval

Product Integrations bulk approval

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Purge integrations

Purge integrations

query Parameters
filter[status]
Array of arrays

Product integration status

filter[hasIssues]
boolean

Apply only to results with issues (true) or without issues (false).

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Read all batches sorted by ascending creation date

Returns list of existing batches for current authenticated user

query Parameters
page
integer >= 1
Default: 1

Results page number.

perPage
integer [ 1 .. 50 ]
Default: 50

Number of items returned per page.

sort
string
Default: "created_at"

Property to sort results by.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Categories

List categories

Returns the list of categories

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": [
    • {
      • "type": "categories",
      • "id": "1ed550e3-6ab2-6fb0-8041-0242ac130006",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Fulfillment

Declare product variant as fulfillment item

path Parameters
productVariantUuid
required
string <uuid>

Product variant uuid

header Parameters
Accept
string

application/vnd.api+json

Request Body schema: application/vnd.api+json
data
any

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": null
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

List of fulfillment orders for the currently authenticated brand

Returns a list of orders being or having been fulfilled

query Parameters
page[limit]
integer
page[offset]
integer
filter[isDirect]
boolean

Request only direct orders (true) or only Ankorstore-related orders (false)

filter[status]
string
Enum: "internal" "requested" "created" "scheduled" "released" "shipped" "cancelled"

Request a specific status only

filter[uuid]
Array of strings <uuid>

List of fulfillment orders uuids

sort
string
Default: "-createdAt"
Enum: "createdAt" "-createdAt"

Specify what attribute(s) to sort by

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "links": {
        },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Create Fulfillment Order

Creates a new fulfillment order

query Parameters
validateOrder
boolean

Validate the request without creating the order

header Parameters
Accept
string

application/vnd.api+json

Request Body schema: application/json
reference
string
orderId
integer or null

Ankorstore order ID, or null for direct fulfillment order

orderUuid
string or null <uuid>

Ankorstore order uuid, or null for direct fulfillment order

masterOrderUuid
string or null <uuid>

Ankorstore master order uuid, or null if not set

fulfillmentBrandId
string <uuid>
shippingCharged
boolean

Is shipping fee charged for order, default to true

required
object

Shipping address for the recipient. Required for order creation

firstName
required
string non-empty
lastName
required
string non-empty
company
required
string
phone
required
string non-empty
email
required
string
street
required
string non-empty
city
required
string non-empty
postalCode
required
string
country
required
string^[A-Z]{2}$
object or null

Optional billing address for the recipient

Any of
firstName
string non-empty
lastName
string non-empty
company
string
phone
string non-empty
email
string
street
string non-empty
city
string non-empty
postalCode
string
country
string^[A-Z]{2}$
required
Array of objects or objects
Array
Any of
fulfillableId
required
string <uuid>
quantity
required
integer

quantity in batches

Responses

Request samples

Content type
application/json
{
  • "reference": "string",
  • "orderId": 0,
  • "orderUuid": "75f04ea8-fbe5-43d1-b5fc-e130f973b1a5",
  • "masterOrderUuid": "8f6deb2e-3f81-488c-8887-508b733f0a5b",
  • "fulfillmentBrandId": "190f203a-1767-4d67-a4ee-b3e306d130f8",
  • "shippingCharged": true,
  • "shippingAddress": {
    • "firstName": "string",
    • "lastName": "string",
    • "company": "string",
    • "phone": "string",
    • "email": "string",
    • "street": "string",
    • "city": "string",
    • "postalCode": "string",
    • "country": "string"
    },
  • "billingAddress": {
    • "firstName": "string",
    • "lastName": "string",
    • "company": "string",
    • "phone": "string",
    • "email": "string",
    • "street": "string",
    • "city": "string",
    • "postalCode": "string",
    • "country": "string"
    },
  • "items": [
    • {
      • "fulfillableId": "611a6658-a5d5-475f-8280-4b693104739b",
      • "quantity": 0
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "reference": "string",
      • "orderId": 0,
      • "orderUuid": "75f04ea8-fbe5-43d1-b5fc-e130f973b1a5",
      • "fulfillmentBrandId": "190f203a-1767-4d67-a4ee-b3e306d130f8",
      • "isDirect": true,
      • "shippingCharged": true,
      • "status": "internal",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "shippingAddress": {
        },
      • "billingAddress": {
        },
      • "items": [
        ]
      },
    • "links": {
      • "order": "string"
      },
    • "relationships": {
      • "statusUpdates": {
        },
      • "shipments": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Details of a single fulfillment order

Returns details of a single fulfillment order

path Parameters
id
required
string <uuid>

Fulfillment order ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "reference": "string",
      • "orderId": 0,
      • "orderUuid": "75f04ea8-fbe5-43d1-b5fc-e130f973b1a5",
      • "fulfillmentBrandId": "190f203a-1767-4d67-a4ee-b3e306d130f8",
      • "isDirect": true,
      • "shippingCharged": true,
      • "status": "internal",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "shippingAddress": {
        },
      • "billingAddress": {
        },
      • "items": [
        ]
      },
    • "links": {
      • "order": "string"
      },
    • "relationships": {
      • "statusUpdates": {
        },
      • "shipments": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

List Brand Replenishments

Returns a list of declared replenishments

query Parameters
limit
integer
offset
integer
sort
string
Default: "-submittedAt"

Specify what attribute(s) to sort by

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Create Replenishment

Creates a new replenishment

header Parameters
Accept
string

application/vnd.api+json

Request Body schema: application/json
brandId
integer
warehouseId
required
string <uuid>
shippingCarrierName
required
string
shipmentType
required
string
Enum: "LTL" "FTL" "PARCEL"
required
Array of objects (ReplenishmentItem)
Array
fulfillmentItemId
required
string <uuid>
quantity
required
integer
status
string or null
Enum: "declared" "available" "blocked" "other"
id
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "brandId": 0,
  • "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
  • "shippingCarrierName": "string",
  • "shipmentType": "LTL",
  • "items": [
    • {
      • "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
      • "quantity": 0,
      • "status": "declared"
      }
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "brandId": 0,
      • "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
      • "shippingCarrierName": "string",
      • "shipmentType": "LTL",
      • "items": [
        ],
      • "reference": "string",
      • "status": "created",
      • "receivedAt": "2019-08-24T14:15:22Z",
      • "submittedAt": "2019-08-24T14:15:22Z",
      • "receipts": [
        ]
      },
    • "relationships": {
      • "fulfillmentBrand": {
        },
      • "warehouse": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Get Replenishment

Returns details of a single replenishment

path Parameters
id
required
string <uuid>

Replenishment ID

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "brandId": 0,
      • "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
      • "shippingCarrierName": "string",
      • "shipmentType": "LTL",
      • "items": [
        ],
      • "reference": "string",
      • "status": "created",
      • "receivedAt": "2019-08-24T14:15:22Z",
      • "submittedAt": "2019-08-24T14:15:22Z",
      • "receipts": [
        ]
      },
    • "relationships": {
      • "fulfillmentBrand": {
        },
      • "warehouse": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Returns quantity adjustments for a replenishment

Returns a list of quantity adjustments related to a replenishment

path Parameters
id
required
string <uuid>

Replenishment id

query Parameters
page[limit]
integer
page[offset]
integer
sort
string
Value: "createdAt"

Specify what attribute(s) to sort by

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Returns quantity adjustments relationships

Returns a list of quantity adjustments related to the replenishment

path Parameters
id
required
string <uuid>

Replenishment id

query Parameters
page[limit]
integer
page[offset]
integer
sort
string
Value: "createdAt"

Specify what attribute(s) to sort by

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "type": "string",
      • "meta": { }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

List Fulfillment Warehouses

Returns a list of warehouses available to provide fulfillment services

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "string",
      • "attributes": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Details of a single warehouse

Returns details of a warehouse

path Parameters
id
required
string <uuid>

Warehouse ID

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "string",
    • "attributes": {
      • "code": "string",
      • "name": "string",
      • "street": "string",
      • "postalCode": "string",
      • "city": "string",
      • "countryCode": "string",
      • "email": "string",
      • "phone": "string"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Returns list of items being prepared or available for fulfillment for the current authenticated Brand

Returns a list of fulfillment items

query Parameters
limit
integer
offset
integer
filter[id]
Array of strings <uuid> non-empty

Request a subset of IDs only

filter[status]
string
Enum: "synced" "pending"

Request a subset of status only

sort
string
Enum: "expectZeroStockAt" "-expectZeroStockAt" "stockStatus" "-stockStatus" "availableQuantityUnits" "-availableQuantityUnits"

Specify what attribute(s) to sort by

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Create an fulfillment item

Create an fulfillment item

header Parameters
Accept
string

application/vnd.api+json

Request Body schema: application/vnd.api+json
data
any

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": null
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "productVariantId": 0,
      • "barcode": "string",
      • "unitsPerBatch": 0,
      • "unitCostMargin": 0,
      • "unitCost": 0,
      • "sku": "string",
      • "productName": "string",
      • "categoryName": "string",
      • "classificationCode": "string",
      • "expiryTracked": true,
      • "shelfLife": 0,
      • "batchTracked": true,
      • "availableQuantity": 0,
      • "status": "created",
      • "expectedStockForDays": 0,
      • "stockStatus": "in_stock"
      },
    • "relationships": {
      • "fulfillmentBrand": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Get Fulfillment Item

Returns a fulfillment item created for the authenticated brand

path Parameters
id
required
string <uuid>

Fulfillment item ID

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "productVariantId": 0,
      • "barcode": "string",
      • "unitsPerBatch": 0,
      • "unitCostMargin": 0,
      • "unitCost": 0,
      • "sku": "string",
      • "productName": "string",
      • "categoryName": "string",
      • "classificationCode": "string",
      • "expiryTracked": true,
      • "shelfLife": 0,
      • "batchTracked": true,
      • "availableQuantity": 0,
      • "status": "created",
      • "expectedStockForDays": 0,
      • "stockStatus": "in_stock"
      },
    • "relationships": {
      • "fulfillmentBrand": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Returns quantity adjustments

Returns a list of quantity adjustments related to an item

path Parameters
id
required
string <uuid>

Fulfillment item ID

query Parameters
page[limit]
integer
page[offset]
integer
sort
string
Value: "createdAt"

Specify what attribute(s) to sort by

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Returns quantity adjustments

Returns a list of quantity adjustments related to an item

path Parameters
id
required
string <uuid>

Fulfillment item ID

query Parameters
page[limit]
integer
page[offset]
integer
sort
string
Value: "createdAt"

Specify what attribute(s) to sort by

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "type": "string",
      • "meta": { }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Returns availability information with the fulfillable UUIDs given

Returns a list of fulfillable's availability

query Parameters
fulfillableIds[]
required
Array of strings <uuid> non-empty

A set of UUIDs representing the fulfillables to check availability for.

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Get Fulfillment Brand

Returns a fulfillment brand

path Parameters
id
required
string <uuid>

Fulfillment brand ID

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "brandId": 0,
      • "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
      • "billingCategory": "S",
      • "reference": "string",
      • "parcelCarrier": "DPD_CLA",
      • "palletCarrier": "KNC01_C",
      • "maxParcelShipmentWeight": 0
      },
    • "relationships": {
      • "warehouse": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "string",
      • "attributes": {
        }
      }
    ]
}

Create a Fulfillment Brand

Creates a new fulfillment brand

header Parameters
Accept
string

application/vnd.api+json

Request Body schema: application/json
brandId
required
integer

Ankorstore brand ID

brandName
required
string
warehouseId
string <uuid>
billingCategory
string
Enum: "S" "M" "L"
parcelCarrier
string
Enum: "DPD_CLA" "DPD_PRE"
palletCarrier
string
Enum: "KNC01_C" "KNC02_C" "DE_MES" "DE_MEI"
maxParcelShipmentWeight
integer or null

Responses

Request samples

Content type
application/json
{
  • "brandId": 0,
  • "brandName": "string",
  • "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
  • "billingCategory": "S",
  • "parcelCarrier": "DPD_CLA",
  • "palletCarrier": "KNC01_C",
  • "maxParcelShipmentWeight": 0
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "brandId": 0,
      • "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
      • "billingCategory": "S",
      • "reference": "string",
      • "parcelCarrier": "DPD_CLA",
      • "palletCarrier": "KNC01_C",
      • "maxParcelShipmentWeight": 0
      },
    • "relationships": {
      • "warehouse": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "string",
      • "attributes": {
        }
      }
    ]
}

Invoicing

List Brand Service Invoices

Returns a list of brand service invoices

query Parameters
limit
integer
offset
integer
filter[status]
Array of strings non-empty
Items Enum: "pro_forma" "paid" "payment failed" "payment pending" "payment_processing"

Request specific statuses only

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Create a Payment Service Provider Customer with a SEPA setup intent

Create a Payment Service Provider Customer

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "aksCustomerId": 0,
      • "aksCustomerType": "brand",
      • "customerId": "string",
      • "setupIntentId": "string",
      • "paymentServiceProvider": "string",
      • "email": "string",
      • "description": "string",
      • "name": "string",
      • "mandateType": "multi_use",
      • "mandateStatus": "active"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Get Payment Service Provider Customer

Returns a single payment service provider customer

path Parameters
aksCustomerId
required
integer

Ankorstore customer ID e.g. brand_id, retailer_id

query Parameters
aksCustomerType
string

Ankorstore customer e.g. brand, retailer, by default it's brand

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "aksCustomerId": 0,
      • "aksCustomerType": "brand",
      • "customerId": "string",
      • "setupIntentId": "string",
      • "paymentServiceProvider": "string",
      • "email": "string",
      • "description": "string",
      • "name": "string",
      • "mandateType": "multi_use",
      • "mandateStatus": "active"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Update the customer's mandate_status

Update the customer's mandate_status

path Parameters
aksCustomerId
required
integer

Ankorstore customer ID e.g. brand_id, retailer_id

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "aksCustomerId": 0,
      • "aksCustomerType": "brand",
      • "customerId": "string",
      • "setupIntentId": "string",
      • "paymentServiceProvider": "string",
      • "email": "string",
      • "description": "string",
      • "name": "string",
      • "mandateType": "multi_use",
      • "mandateStatus": "active"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Get Payment Service Provider SetupIntent

Returns a single setup intent

path Parameters
id
required
string

Setup Intent id

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "clientSecret": "string",
      • "ibanLast4": "string"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Create A Payment Service Provider SetupIntent

Create new setup intent

header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "clientSecret": "string",
      • "ibanLast4": "string"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Mobile

Search for products related to a given brand

Returns search results for products related to a given brand.

path Parameters
brandId
required
string

Identifier of the target brand

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Not Acceptable",
      • "status": "406"
      }
    ]
}

Search for products by query

Searches an Algolia products index against the given query.

query Parameters
query
required
string

The search query.

hitsPerPage
integer [ 1 .. 100 ]
Default: 20

The total number of pages in the search response.

page
integer [ 0 .. 9223372036854776000 ]

The current page of results (zero-indexed).

header Parameters
Accept
string

application/json

Responses

Response samples

Content type
application/json
{
  • "paging": {
    • "page": 0,
    • "pages": 500,
    • "items_per_page": 2,
    • "total": 1405
    },
  • "data": [
    • {
      • "id": 112233,
      • "name": "PlateTastics",
      • "images": [
        ],
      • "retail_price": {
        },
      • "wholesale_price": {
        },
      • "location": "France",
      • "brand": {
        }
      },
    • {
      • "id": 332211,
      • "name": "Super plates",
      • "images": [
        ],
      • "retail_price": {
        },
      • "wholesale_price": {
        },
      • "location": "United Kingdom",
      • "brand": {
        }
      }
    ]
}

Offer Programme

List Eligible Offer Programmes

Returns the list of Offer Programme eligible for a user

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      • "type": "offer-programmes",
      • "id": "1ed505e9-0137-6440-888f-0242ac12000c",
      • "attributes": {
        },
      },
    • {
      • "type": "offer-programmes",
      • "id": "1ed505eb-fd41-69d2-ad3d-0242ac12000c",
      • "attributes": {
        },
      },
    • {
      • "type": "offer-programmes",
      • "id": "1ed5063b-2ada-68cc-a370-0242ac12000c",
      • "attributes": {
        },
      }
    ]
}

List Eligible Offer Programmes

Returns the an Offer Programme

path Parameters
offerProgrammeId
required
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": []
}

Opt-in on a Offer Programme

Opt-in a user on a Offer Programme

path Parameters
offerProgrammeId
required
string

Responses

Response samples

Content type
application/vnd.api+json
{}

Opt-out on a Offer Programme

Opt-out a user on a Offer Programme

path Parameters
offerProgrammeId
required
string

Responses

Response samples

Content type
application/vnd.api+json
{}

Ordering

Create Non-Ankorstore Fulfillment Order

Creates a new non ankorstore fulfillment order

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/json
required
object

Shipping address for the recipient. Required for order creation

country
required
string^[A-Z]{2}$
postalCode
required
string
city
required
string non-empty
street
required
string non-empty
company
required
string
firstName
required
string non-empty
lastName
required
string non-empty
phone
required
string non-empty
email
required
string
required
Array of objects
Array
fulfillableId
required
string <uuid>
quantity
required
integer

quantity in units

masterOrderUuid
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "shippingAddress": {
    • "country": "string",
    • "postalCode": "string",
    • "city": "string",
    • "street": "string",
    • "company": "string",
    • "firstName": "string",
    • "lastName": "string",
    • "phone": "string",
    • "email": "string"
    },
  • "items": [
    • {
      • "fulfillableId": "611a6658-a5d5-475f-8280-4b693104739b",
      • "quantity": 0
      }
    ],
  • "masterOrderUuid": "8f6deb2e-3f81-488c-8887-508b733f0a5b"
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "type": "internal",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "reference": "string",
      • "masterStatus": "created",
      • "status": {
        },
      • "internalId": null,
      • "totals": { },
      • "brand": {
        },
      • "updates": { },
      • "taxes": { },
      • "priorityTag": { },
      • "vat": { },
      • "deadlines": { },
      • "synchronizations": { },
      • "invoices": { },
      • "shipping": {
        },
      • "tracking": { },
      • "billing": { },
      • "issue": { },
      • "retailer": {
        },
      • "rejection": { },
      • "meta": { }
      },
    • "relationships": {
      • "orderItems": {
        },
      • "orderShipping": {
        }
      }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

List master orders for the current authenticated Brand

Returns a list of master orders (internal and external orders included)

query Parameters
fields[orders]
string

Choose only specific attributes from order payload

fields[order-shipping]
string

Choose only specific attributes from order payload

include
string
Enum: "orderItems" "orderShipping"

Include related resources in the response

page[limit]
integer
page[offset]
integer
filter[priority_key]
string
Enum: "on_time" "overdue" "close_deadline"

Request masters orders for a specific priority category

filter[status_key]
string
Enum: "created" "prepared" "shipped" "delivered" "completed" "cancelled" "pending_validation" "reception_refused"

Request master orders for a specific status category

filter[search_term]
string

Request master orders based on free text search e.g. product, brand, retailer etc.

filter[brand_cancellation_key]
string
Enum: "PRODUCT_OUT_OF_STOCK" "BRAND_HAS_EXCLUSIVE_DISTRIBUTOR_IN_THE_REGION" "BRAND_CANNOT_DELIVER_TO_THE_AREA" "RETAILER_AGREED_TO_DO_CHANGES_TO_ORDER" "BRAND_SHIPPING_FEES_VIA_CUSTOM" "OTHER" "REJECTED_VIA_EXTERNAL_INTEGRATION" "BRAND_SHIPPING_FEES_VIA_ANKORSTORE" "PAYMENT_ISSUES_WITH_RETAILER" "PREPARATION_TIME_TOO_HIGH" "BUYER_NOT_A_RETAILER" "PURCHASE_NOT_FOR_RESALE" "RETAILER_NOT_GOOD_FIT_FOR_BRAND" "RETAILER_VAT_NUMBER_MISSING" "ORDER_ITEMS_PRICES_INCORRECT" "BRAND_ALREADY_HAS_CUSTOMER_IN_THE_AREA"

Request master orders for a specific brand cancellation reason

filter[order_type]
string
Enum: "internal" "external"

Request master orders of a specific type

sort
string
Default: "-created_at"
Enum: "created_at" "-created_at" "status" "-status"

Specify attribute(s) to sort by

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Get Master Order

Returns an order by given UUID

path Parameters
id
required
string <uuid>

UUID of the requested resource

query Parameters
include
string
Enum: "orderItems" "orderShipping"

Include related resources in the response

fields[orders]
string

Choose only specific attributes from order payload

fields[order-shipping]
string

Choose only specific attributes from order payload

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "type": "internal",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "reference": "string",
      • "masterStatus": "created",
      • "status": {
        },
      • "internalId": null,
      • "totals": { },
      • "brand": {
        },
      • "updates": { },
      • "taxes": { },
      • "priorityTag": { },
      • "vat": { },
      • "deadlines": { },
      • "synchronizations": { },
      • "invoices": { },
      • "shipping": {
        },
      • "tracking": { },
      • "billing": { },
      • "issue": { },
      • "retailer": {
        },
      • "rejection": { },
      • "meta": { }
      },
    • "relationships": {
      • "orderItems": {
        },
      • "orderShipping": {
        }
      }
    },
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Export Orders

Downloads exported orders for the currently authenticated brand

query Parameters
export_year
integer

Year for which orders to be exported

export_month
integer

Month for which orders to be exported

export_format
string
Enum: "csv" "xlsx"

Export format i.e. csv, xlsx

status_key
integer
Enum: "created" "prepared" "shipped" "delivered" "completed" "cancelled" "pending_validation" "reception_refused"
header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

List Order Items of the given master order

Returns a list of order items belonging to the order with given UUID

path Parameters
id
required
string <uuid>

UUID of the requested resource

query Parameters
include
string
Value: "orderedProduct"

Include related resources in the response

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ],
  • "included": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ]
}

Platform

Platform configuration details

Returns generic platform config parameters used for all users

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "cdn": "string",
      • "stripePublicKey": "string"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Product Prices

Get product prices and discounts from product ids

Get product prices and discounts from product ids

query Parameters
filter[id]
string

lists of product ids separated with a coma

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      • "type": "product-prices",
      • "id": "3231389",
      • "attributes": {
        }
      },
    • {
      • "type": "product-prices",
      • "id": "3231391",
      • "attributes": {
        }
      },
    • {
      • "type": "product-prices",
      • "id": "3231397",
      • "attributes": {
        }
      }
    ]
}

Public Integrations

Validate platform for public integration

Check shop url based on platform chosen

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
object
type
object
platformName
required
string
platformUrl
required
string

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "platform-verifications",
    • "attributes": {}
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "platformUrl": "string",
      • "authenticationUrl": "string",
      • "required": null
      }
    }
}

Retailer

Retailer Email Signup

Saves the user email in the retailer_leads table, returns a redirection to login path if a user with the provided email already exists in the user table

header Parameters
Accept
string

application/vnd.api+json

Request Body schema:
email
string <= 255 characters

Responses

Request samples

Content type
{
  • "email": "test@ankorstore.com"
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Not Acceptable",
      • "status": "406"
      }
    ]
}

Rutter

List Rutter Integrations

Returns a list of available Rutter Integrations for the currently authenticated brand

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "rutter-integrations",
      • "id": "123",
      • "attributes": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Create Rutter Integration

Creates a new Rutter integration for the currently authenticated brand

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/json
publicToken
required
string
orderTags
Array of strings (Rutter Order Tags) <= 5 items unique [ items [ 1 .. 36 ] characters ]

List of order tags to be added to each new order synchronized to external Rutter platform

Responses

Request samples

Content type
application/json
{
  • "publicToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
  • "orderTags": [
    • "Ankorstore",
    • "External"
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "rutter-integrations",
    • "id": "123",
    • "attributes": {
      • "accessToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
      • "platformName": "SHOPIFY"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Update Rutter Integration

Updates the Rutter integration with given ID

path Parameters
id
required
string
Example: 123

ID of the target Rutter Integration

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
type
required
id
required
required
object
orderTags
Array of strings (Rutter Order Tags) <= 5 items unique [ items [ 1 .. 36 ] characters ]

List of order tags to be added to each new order synchronized to external Rutter platform

null or ShopifyIntegrationConfiguration (object)

Configuration parameters for the integration

One of
null

Configuration parameters for the integration

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "rutter-integrations",
    • "id": "123",
    • "attributes": {
      • "orderTags": [
        ]
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "rutter-integrations",
    • "id": "123",
    • "attributes": {
      • "accessToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
      • "platformName": "SHOPIFY"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Delete Rutter integration

Deletes Rutter integration with given ID

path Parameters
id
required
string
Example: 123

ID of the target Rutter Integration

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Create a Shopify integration

Create a Shopify integration using User's provided Admin Access Token and API Secret.

Request Body schema: application/vnd.api+json
platformUrl
required
string

Shop URL

adminAccessToken
required
string

Admin Access Token

apiSecretKey
required
string

API Secret Key

Responses

Request samples

Content type
application/vnd.api+json
{
  • "platformUrl": "https://shop.url/",
  • "adminAccessToken": "shpat_123457890abcdef",
  • "apiSecretKey": "this-is-a-secret-key"
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "rutter-integrations",
    • "id": "123",
    • "attributes": {
      • "accessToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
      • "platformName": "SHOPIFY"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Create a test order on the integrated platform

Send test order to the currently integrated platform of the authenticated brand.

Responses

Response samples

Content type
application/json
No sample

Segments

List of current user segments

Retreive the sements of current user

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      • "type": "segments",
      • "id": "1ed5ed69-3b3b-675a-9c3d-0242ac12000b",
      • "attributes": {
        }
      },
    • {
      • "type": "segments",
      • "id": "1ed5ed69-4694-6070-a1c3-0242ac12000b",
      • "attributes": {
        }
      },
    • {
      • "type": "segments",
      • "id": "1ed5ed69-4bd6-688a-85f8-0242ac12000b",
      • "attributes": {
        }
      }
    ]
}

Shipping

Create a label

Create a new label

Request Body schema: application/json
fulfillmentOrderReference
required
string^O_[A-Z0-9]+_[0-9]+$

Our order reference.

containerReference
required
string^O_[A-Z0-9]+_[0-9]+-[0-9]+$

The container reference that uniquely identify the box on which the label is sticked

shipmentReference
string

The fulfillment center internal shipment reference

service
required
string
Enum: "AKS_PAR_COG" "AKS_PAR_AKS"

Format: AKS_{GEOGRAPHICAL-CLUSTER}_{LAST-MILE-CARRIER}

width
required
integer > 0

cm

height
required
integer > 0

cm

length
required
integer > 0

cm

weight
required
integer > 0

g

Responses

Request samples

Content type
application/json
{
  • "fulfillmentOrderReference": "O_F5SVAPCQ_722",
  • "containerReference": "O_F5SVAPCQ_722-1",
  • "shipmentReference": "BL00035904",
  • "service": "AKS_PAR_AKS",
  • "width": 20,
  • "height": 30,
  • "length": 17,
  • "weight": 3000
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "shipping-labels",
    • "id": "90f63c5e-8b23-4505-9124-fa4bc09d935c",
    • "attributes": {
      • "containerReference": "O_F5SVAPCQ_722-1",
      • "format": "ZPL",
      • "encoding": "base64",
      • "data": "XlhBIF5DSTI4IF5MSDE4LDggXlBPTiBeRlQ2ODgsMTI4NiBeQTBJLDE4LDBeRkRTb3VtaXMgYXV4IENHVgpjb25zdWx0YWJsZXMgc3VyIHd3dy5kcGQuZnIg4oCTIF5GUyBeRlQ2ODgsMTI3MiBeQTBJLDE4LDBeRkREUEQgRnJhbmNlIFNBUyDigJMKQ2FwaXRhbCBzb2NpYWwgOiAxOCA1MDAgMDAwIOKCrCDigJMgXkZTIF5GVDY4OCwxMjU5IF5BMEksMTgsMF5GRFNpw6hnZSBzb2NpYWwgOgoxMSBydWUgUmVuw6kuSmFjcXVlcyA5MjEzMCBJc3N5LUxlcy1Nb3VsaW5lYXV4IOKAkyBeRlMgXkZUNjg4LDEyNDUKXkEwSSwxOCwwXkZENDQ0NDIwODMwIFJDUyBOQU5URVJSRSDigJMgTsKwVFZBIEZSMjQ0NDQ0MjA4MzAgXkZTIF5GVDkzLDYzNwpeR0IzMDEsNTI1LDUsQl5GUyBeRlQ0MTUsNjM0IF5HQjEzOSw1MjAsMixCXkZTIF5GVDY0OSw2MzMgXkdCNTIsNTE4LDEsQl5GUwogXkZUMTI5LDYxNyBeQTBCLDE4LDBeRkREZXN0aW5hdGFpcmVeRlMgXkZUMTI5LDQ1NgpeQTBCLDE2LDBeRkQrMzM2Nzc3NTcyNTReRlMgXkZUMjg0LDYxNiBeQTBCLDIyLDBeRkQyMCBSVEUgREUgTEEgUExBTkNIRQpEJ0FVWkVeRlMgXkZUMzM5LDYxNiBeQTBCLDY3LDBeRkRGLTEyMzQ1XkZTIF5GVDM3NCw2MTYKXkEwQiwzNiwwXkZEVEVTVF5GUyBeRlQ0MzksNjE3IF5BMEIsMTgsMF5GREV4cGVkaXRldXJeRlMgXkZUNDY2LDYxNwpeQTBCLDIwLDBeRkRHRU9ESVMgTE9HSVNUSUNTIEdFT0RJUyBMT0dJU1RJQ1NeRlMgXkZUMzM5LDQ1IF5BMEksMzYsMF5GRDIzOAoxMjc4ODA5NzUzXkZTIF5GVDc0NSw0NSBeQTBJLDM2LDBeRkQyMzggMTI3ODgwOTc1M15GUyBeRlQyMjYsODU4Cl5BMEIsNDgsMF5GRDE1XkZTIF5GVDI1MSw5NzkgXkdCMCwxNDMsNzEsQl5GUyBeRlIgXkZUMzA2LDkyNwpeQTBCLDU2LDBeRkRCXkZTIF5GVDM3MSw5MTggXkEwQiw0MCwwXkZEMl5GUyBeRlQzOTIsOTc5IF5HQjAsNzEsNTMsQl5GUwpeRlQzOTIsNzUwIF5HQjAsNzEsNTMsQl5GUyBeRlQxNzEsMTAyMiBeR0I1MzIsMzgzLDYsQl5GUyBeRlQyNDQsMTAxNgpeR0IwLDM3MSw2LEJeRlMgXkZUNDM4LDg2MCBeQTBCLDczLDBeRkQ4N15GUyBeRlQ2ODcsMTAwMQpeQTBCLDI0LDBeRkQ4NzM1MF5GUyBeRlQ2ODcsODczIF5BMEIsMjQsMF5GRDIsNTkga2deRlMgXkZUNjg4LDc1MwpeQTBCLDI0LDBeRkQxNy4wNS4yM15GUyBeRlQ1ODEsNjIyIF5BMEIsMjQsMF5GRENvbGlzXkZTIF5GVDU1MiwyMjIKXkdCMzQsMTA4LDIsQl5GUyBeRlQ1ODAsNTIzIF5BMEIsMjksMF5GRDI1MCAyMzggMTI3ODgwOTc1NDMxXkZTIF5GVDU3NywyMTgKXkEwQiwyMiwwXkZETmIuOl5GUyBeRlQ1NzYsMTU1IF5BMEIsMjEsMF5GRDEvMV5GUyBeRlQ2MzcsNjIxCl5BMEIsMjEsMF5GRFJlZjpeRlMgXkZUNDksMTIzOCBeQTBCLDE4LDBeRkREUEQtRXRhYmxpc3NlbWVudCAyMzheRlMKXkZUNjcsMTIzNiBeQTBCLDE4LDBeRkQ0NDQgNDIwIDgzMCAwMTAwMF5GUyBeRlQ4NSwxMjM4IF5BMEIsMTgsMF5GRDI2MjMwClZhbGF1cmllXkZTIF5GVDEwMywxMjM4IF5BMEIsMTgsMF5GREYtMTIzNDUgVEVTVF5GUyBeRlQxMzgsODQwCl5BMEIsNTIsMF5GRFRFU1ReRlMgXkZUNDkzLDYxNyBeQTBCLDIyLDBeRkRBTEwuIERFUyBDSEVORVNeRlMgXkZUNTI1LDYxNwpeQTBCLDIyLDBeRkRGLTAxMTUwIFNBSU5ULVZVTEJBU15GUyBeRlQ2MzgsNTQxIF5BMEIsMjQsMF5GREJMMDAwMzU5MDReRlMKXkZUMTI5LDQ5NyBeQTBCLDE4LDBeRkRUZWwuOl5GUyBeRlQ0MzksNTEzIF5BMEIsMTgsMF5GRFRlbC46XkZTIF5GVDE4Myw2MTkKXkEwQiwyMiwwXkZETEEgTUFMTEUgQVVYIEpPVUVUU15GUyBeRlQyMzQsNjE5IF5BMEIsMjIsMF5GREplc3NpY2EgU3Rvc2lrXkZTCl5GVDcxMSwxMjgzCl5HRkEsMTMyMywxMzIzLDksMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZGMDAwMDAwMDAwM0ZGRkZGRkZGMDAwMDAwMDAwMwpGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjgwMDAwMDAwMDAwMDcKRTAwMUY4MDAwMDAwMDAwMDA3QzAwMUY4MDAwMDAwMDAwMDBGQzAwMUY4MDAwMDAwMDAwMDBGQzAwMUY4MDAwMDAwMDAwMDBGQzAwCjFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwN0UwMDNGODAwMDAwMDAwMDAwN0UwMDNGMDAwMDAwMDAwMDAwN0YwMDdGMAowMDAwMDAwMDAwMDdGQzFGRjAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDFGRkZGQzAwMDAKMDAwMDAwMDAwRkZGRjgwMDAwMDAwMDAwMDAwN0ZGRjAwMDAwMDAwMDAwMDAwMUZGQzAwMDAwMDAwMDAwMDAwMDNFMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRTAwMDAwMDAwMDAwMDAwMDFGRkMwMDAwMDAwMDAwMDAwMDdGRkYwMDAwMDAwMDAwMAowMDBGRkZGODAwMDAwMDAwMDAwMDFGRkZGQzAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDcKRkMxRkYwMDAwMDAwMDAwMDA3RjAwN0YwMDAwMDAwMDAwMDA3RTAwM0YwMDAwMDAwMDAwMDA3RTAwM0Y4MDAwMDAwMDAwMDBGRTAwCjFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwRkMwMDAwMDAwMDAwMDAwMDAwRkMwMDAwMAowMDAwMDAwMDAwMDdFMDAwMDAwMDAwMDAwMDAwMDdGRkZGRkZGODAwMDAwMDAwMDdGRkZGRkZGQzAwMDAwMDAwMDdGRkZGRkZGQzAKMDAwMDAwMDA3RkZGRkZGRkMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAxRkZGRkZGRjgwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZGMDAwMDAwMDAwMwpGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkYKRkZGRkY4MDAwMDAwMDAwMDA3RTAwMUY4MDAwMDAwMDAwMDA3QzAwMUY4MDAwMDAwMDAwMDBGQzAwMUY4MDAwMDAwMDAwMDBGQzAwCjFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwN0UwMDNGMDAwMDAwMDAwMDAwN0UwMDNGMAowMDAwMDAwMDAwMDdGMDA3RjAwMDAwMDAwMDAwMDdGQzFGRjAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDNGRkZGRTAwMDAKMDAwMDAwMDAxRkZGRkMwMDAwMDAwMDAwMDAwRkZGRjgwMDAwMDAwMDAwMDAwN0ZGRjAwMDAwMDAwMDAwMDAwMUZGQzAwMDAwMDAwCjAwMDAwMDAzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwRkZGRkZGRjAwMDAwMDAwMDAwRkZGRkZGRjgwMDAwMDAwMDIwRkZGRkZGRkMwMDAwMDAwMDMwN0ZGRkZGRkMwMDAKMDAwMDA3MDNGRkZGRkZFMDAwMDAwMDA3ODNGRkZGRkZGMDAwMDAwMDBGQzFGRkZGRkZGMDAwMDAwMDFGQzFGRkZGRkZGODAwMDAwCjAxRkUwRkZGRkZGRjgwMDAwMDAzRkUwN0ZGRkZGRkMwMDAwMDAzRkYwN0ZGRkZGRkUwMDAwMDA3RkYwM0ZGRkZGRkUwMDAwMDA3RgpGODNGRkZGRkZGMDAwMDAwRkZGQzFGRkZGRkZGMDAwMDAwRkZGQzFGRkZGRkZGODAwMDAxRkZGRTBGRkZGRkZGODAwMDAxRkZGRTAKN0ZGRkZGRkMwMDAwM0ZGRkYwN0ZGRkZGRkUwMDAwN0ZGRkYwN0ZGRkZGRkUwMDAwN0ZGRkY4RkZGRkZGRkYwMDAwRkZGRkZGRkZGCkZGRkZGMDAwMEZGRkZGRkZGRkZGRkZGODAwMUZGRkZGRkZGRkZGRkZGQzAwMUZGRkZGRkZGRkZGRkZGQzAwM0ZGRkZGRkZGRkZGRgpGRkUwMDNGRkZGRkZGRkZGRkZGRkUwMDdGRkZGRkZFMDAwMDAwRkYwMDdGRkZGRkZDMDAwMDAwN0YwMDdGRkZGRkY4MDAwMDAwRkYKMDA3RkZGRkZGODAwMDAwMEZGMDAzRkZGRkZGMDNGRkZGRkZFMDAzRkZGRkZGMDdGRkZGRkZFMDAxRkZGRkZFMEZGRkZGRkZDMDAwCkZGRkZGRTBGRkZGRkZGODAwMEZGRkZGQzFGRkZGRkZGODAwMDdGRkZGODFGRkZGRkZGMDAwMDdGRkZGODNGRkZGRkZGMDAwMDNGRgpGRjA3RkZGRkZGRTAwMDAzRkZGRjA3RkZGRkZGQzAwMDAxRkZGRTBGRkZGRkZGQzAwMDAxRkZGQzBGRkZGRkZGODAwMDAwRkZGQzEKRkZGRkZGRjgwMDAwMEZGRjgxRkZGRkZGRjAwMDAwMDdGRjgzRkZGRkZGRTAwMDAwMDNGRjA3RkZGRkZGRTAwMDAwMDNGRjA3RkZGCkZGRkMwMDAwMDAxRkUwRkZGRkZGRkMwMDAwMDAxRkMwRkZGRkZGRjgwMDAwMDAwRkMxRkZGRkZGRjgwMDAwMDAwRjgxRkZGRkZGRgowMDAwMDAwMDc4M0ZGRkZGRkUwMDAwMDAwMDcwN0ZGRkZGRkUwMDAwMDAwMDMwN0ZGRkZGRkMwMDAwMDAwMDAwRkZGRkZGRkMwMDAKMDAwMDAwMEZGRkZGRkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgXkJZMywzLDEwIF5GVDE3MywxMjE2Cl5CMk4sMTg0LE4sTixOXkZEMjUwMjM4MTI3ODgwOTc1NDMxXkZTIF5CWTMsMiwxMCBeRlQ2MzEsOTMyCl5CQ0IsMTg0LE4sTixOLEFeRkQwODcxXkZTIF5CWTIsMywxMCBeRlQxMDMsMTEyIF5CQ04sMjgsTixOLE4sQV5GRExBIE1BTExFCgpBVVheRlMgXkZUMTczLDEyMTYgXkdCNTEyLDAsMSxCXkZTIF5GVDE3MywxMDMzIF5HQjUxMiwwLDEsQl5GUwpeWFo="
      }
    },
  • "jsonapi": {
    • "version": "1.0"
    }
}

Testimonials

Testimonials

Returns a list of testimonials

query Parameters
filter[countryId]
Array of arrays

Filter testimonials by multiple country ids

filter[country][isoCode]
Array of arrays

Filter testimonials by multiple country iso codes

page[size]
string

A limit on the number of resources to be returned, i.e. the per-page amount.

page[after]
string

A cursor for use in pagination. after is a resource ID that defines your place in the list. For instance, if you make a paged request and receive 100 resources, ending with resource with id foo, your subsequent call can include page[after]=foo in order to fetch the next page of the list.

sort
string
Enum: "createdAt" "-createdAt"
header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/json
{
  • "meta": {
    • "page": {
      • "from": "string",
      • "hasMore": true,
      • "perPage": 0,
      • "to": "string"
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    },
  • "links": {
    • "first": "string",
    • "prev": "string"
    },
  • "data": [
    • {
      • "type": "testimonials",
      • "id": "1ed4fbbe-e2fa-6678-81db-0242ac130005",
      • "attributes": {
        }
      }
    ]
}

Touch Points

Get touch points to display

Get touch points to display

Responses

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "top_bar": {
        }
      },
    • {
      • "header_pill": null,
      • "attributes": {
        }
      }
    ]
}

Webhook Subscriptions

Add Webhook Subscription to Application

Adds a new webhook subscription to the existing application

Request Body schema: application/vnd.api+json
required
object
type
required
string
Value: "webhook-subscription"
required
object
url
required
string <uri>
events
required
Array of strings non-empty unique
required
object
required
object
required
object
type
required
string
id
required
string

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "webhook-subscription",
    • "attributes": {},
    • "relationships": {
      • "applications": {
        }
      }
    }
}

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {}
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Update Application Webhook Subscription

Update application subscription with given ID

path Parameters
webhookSubscriptionId
required
string

Webhook Subscription ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
type
string
id
string
object
url
required
string <uri>

URL of the service where webhook request will be sent when one of the events from the list occurs

events
required
Array of strings non-empty unique
Items Enum: "order.brand_created" "order.brand_accepted" "order.brand_rejected" "order.shipping_labels_generated" "order.shipped" "order.shipment_received" "order.shipment_refused" "order.brand_paid" "order.cancelled"
required
any

Responses

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {}
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Delete Application Webhook Subscription

Delete application webhook subscription by given ID

path Parameters
webhookSubscriptionId
required
string

Webhook Subscription ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "errors": [
    • {
      • "detail": "Unauthorized",
      • "status": "401"
      }
    ]
}

Get Webhook Subscription Events

Returns a list of webhook events available in the system

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.brand_created"
      },
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.brand_accepted"
      },
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.shipping_labels_generated"
      },
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.shipped"
      },
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.shipment_received"
      },
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.shipment_refused"
      },
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.brand_paid"
      },
    • {
      • "type": "webhook-subscriptions/events",
      • "id": "order.cancelled"
      }
    ]
}

Currency

List latest currency rates

Returns a list of the latest currency rates

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "string",
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "attributes": {
        }
      }
    ],
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Navigation

get-nav-menu-items

Returns the list of items in the navigation menu.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
code
required
string
Example: main

The unique code (slug) for the menu

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      • "id": "1ee1a39f-34df-6c9c-b59e-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-3555-6fe6-a4a3-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-3556-6ed2-aedc-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-3557-685a-bcee-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-3558-6192-93e2-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-3558-6a7a-8490-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-3559-6632-b8c6-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-355a-600a-8b1b-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      },
    • {
      • "id": "1ee1a39f-3797-6480-8de8-0242ac150007",
      • "type": "nav-item",
      • "attributes": {
        },
      • "meta": {
        }
      }
    ]
}

Order

Working with Orders

Here you will find information about the order resource and it's sub-resources. If you need further information please refer to the API specification.

Including order items, retailer and other information

When retrieving the individual order via the API, you may find it lacking in certain information such as retailer, order items etc.

Includes

For every endpoint that returns the order resource you may pass an ?include= query parameter that will return extra information inside the included root level object.

The supported resources to include are retailer, billingItems, orderItems, orderItems.productOption, orderItems.productOption.product, orderItems.productVariant and orderItems.productVariant.product.

Please note that, if you include orderItems.productOption you do not need to specify orderItems separately. It will be automatically included.

As an example, to include all data possible you would do ?include=retailer,billingItems,orderItems.productOption.product

Important Fields within Order Resource

If the field contains no data, it will be null. The only exception currently to this is shippingOverview which can be viewed below. The fields listed below are not all of the fields, please see the API specification for all of them.

Status status

The status field is the current state of the order, below is a table that describes each step:

Status Description
ankor_confirmed The order has been confirmed by Ankorstore and now a decision can be made whether to accept or reject this order.
rejected The order has been rejected, Ankorstore needs to approve this rejection. If it does, the status will moved to cancelled.
brand_confirmed The order has been accepted. it now needs to be shipped to the retailer.
shipping_labels_generated The order has been shipped with Ankorstore and the labels have been generated - these are now available in the order resource data within shippingOverview.
fulfillment_requested The brand has chosen to fulfill the order, or the order was automatically fulfilled. The order will remain in this state until it has been fulfilled by the fulfillment provider.
shipped The order has either been picked up by an Ankorstore carrier (e.g UPS) or the brand has chosen to ship with their own carrier.
received The retailer has received the package, if shipped with Ankorstore this is automatic from the carrier otherwise for custom shipping the retailer has to manually acknowledge this.
reception_refused The retailer has refused the reception of the package - if Ankorstore approves the reason the order will move to cancelled. The status can also move to received if the retailers issues have been resolved by the brand or Ankorstore.
invoiced The final invoice has been issued for this order.
brand_paid The brand has been paid in full for this order.
cancelled The order is cancelled.
flowchart LR


    ankor_confirmed -- accept order -->brand_confirmed
    ankor_confirmed -- reject order -->rejected-->cancelled
    brand_confirmed -- shipping method: custom -->shipped
    brand_confirmed -- shipping method: ankorstore -->shipping_labels_generated
    brand_confirmed -- shipping method: fulfillment -->fulfillment_requested
    shipping_labels_generated-->shipped
    fulfillment_requested-->shipped
    shipped-->reception_refused-->cancelled
    shipped-->received-->invoiced-->brand_paid
    reception_refused-->received

Not to be confused: Status vs Shipping Flow

The above diagram shows what status the order will be in based on the actions performed in the API. The most confusing may be the shipping flow. To reach the shipped or shipping_labels_generated status, a shipping quote must always be generated and then confirmed. Please see shipping an order for further details.

Shipping Method shippingMethod

What shipment method has been chosen for this order. Either ankorstore for using Ankorstores shipping service, custom for using the brand's own carrier or fulfillment if the order is shipped from a fulfillment centre This field is null when no choice has yet been made.

Shipping Overview shippingOverview

Field Availaiblity

The object shippingOverview is only available when retrieving a single order. This data is not available when retrieving a list of orders.

Submitted At submittedAt

This is the date the retailer submitted their whole order.

Shipped At shippedAt

This is when the brand shipped the order.

Brand Paid At brandPaidAt

This is when Ankorstore pays the brand, if it is null then payment is still pending.

Interacting with Orders

When a brand receives a new order, it arrives in the ankor_confirmed status. The brand can then perform certain transitions using a single endpoint:

POST /api/v1/orders/{id}/-actions/transition

This endpoint will accept different payloads depending on what transition is provided. This page will detail each transition that may be performed and when.

All the implementation details and fields can be found in the endpoint documentation.

No going back!

Once an order is accepted or rejected it cannot be reversed. If this was a mistake the brand can contact Ankorstore through the normal channels to revert the order to ankor_confirmed.

If an order is rejected you need to provide a detailed reject reason. Otherwise, after the order is accepted the brand then needs to ship it. Please see shipping an order for further details.

Accepting an Order

Can be performed when the order is in ankor_confirmed.

In order to accept an order without any item modifications a simple payload detailing the transition will suffice:

{


    "data": {
        "type": "brand-validates"
    }
}

The order will move from ankor_confirmed to brand_confirmed.

Accepting an Order with modifications

Can be performed when the order is in ankor_confirmed.

Sometimes you may wish to modify the order before accepting it if for example you do not have the items in stock or further communication has taken place with the retailer.

The order items can only be modified at this stage. The rules of the payload are as follows:

  • To leave an item's quantity as is, do not include it in the payload below
  • To update an item's quantity, include it in the payload below with the new quantity (cannot be above the current quantity)
  • To remove an item entirely, set the item's quantity to 0.

You cannot remove all items, please reject the order in this scenario.

{


    "data": {
        "type": "brand-validates",
        "attributes": {
            "orderItems": [
                {
                    "id": "a470c8d6-1bda-4612-b0bd-3ea2a81a9e89"
                    "type": "order-items"
                    "attributes": {
                        "quantity": 12
                    }
                },
                {
                    "id": "0ca13de1-8e4b-4e67-a147-185cc5f6f57f"
                    "type": "order-items"
                    "attributes": {
                        "quantity": 0
                    }
                }
            ]
        }
    }
}

The order will move from ankor_confirmed to brand_confirmed.

Rejecting an Order

Can be performed when the order is in ankor_confirmed.

To reject an order you must provide a reason listed below for the rejectType field.

  • BRAND_ALREADY_HAS_CUSTOMER_IN_THE_AREA - Brand already has a customer in the area

  • BRAND_CANNOT_DELIVER_TO_THE_AREA - Brand cannot make a delivery to the target area

  • BRAND_HAS_EXCLUSIVE_DISTRIBUTOR_IN_THE_REGION - The brand already has an exclusive distributor in the target region

  • BUYER_NOT_A_RETAILER - The buyer does not seem to be a retailer

  • ORDER_ITEMS_PRICES_INCORRECT - The prices of items in this order were incorrect

  • PAYMENT_ISSUES_WITH_RETAILER - Brand had payment issues in the past with this retailer

  • PREPARATION_TIME_TOO_HIGH - The time needed for the order preparation is excessively high

  • PRODUCT_OUT_OF_STOCK - Order cannot be processed because one or multiple ordered products are not in the stock

  • PURCHASE_NOT_FOR_RESALE - This purchase does not seem to be for resale

  • RETAILER_AGREED_TO_DO_CHANGES_TO_ORDER - The retailer agreed so that they can do changes to the order

  • RETAILER_NOT_GOOD_FIT_FOR_BRAND - The retailer who made an order does not fit the brand's criteria

  • RETAILER_VAT_NUMBER_MISSING - The retailer VAT number is missing

  • OTHER - If no reason above is suitable you can use value, but you MUST provide a rejectReason which accepts a plain text string of 1000 characters.

Example rejection

{


    "data": {
        "type": "brand-rejects",
        "attributes": {
            "rejectType": "ORDER_ITEMS_PRICES_INCORRECT"
        }
    }
}

Example rejection with OTHER

{


    "data": {
        "type": "brand-rejects",
        "attributes": {
            "rejectType": "OTHER",
            "rejectReason": "a different reason"
        }
    }
}

The order will move from ankor_confirmed to cancelled.

Resetting an order's generated shipping labels

Can be performed when the order is in shipping_labels_generated.

To reject an order you must provide a reason listed below for the resetType field.

  • BRAND_NEED_MORE_LABELS_TO_SHIP - Brand needs more shipping labels to ship

  • BRAND_PUT_WRONG_WEIGHT_DIMENSIONS - Brand put wrong parcel weight and/or dimensions

  • BRAND_SHIPS_WITH_DIFFERENT_CARRIER - Brand wants to ship with a different carrier

  • PROBLEM_DURING_SHIPPING_LABEL_GENERATION - There was a problem during the shipping labels generation

  • RETAILER_ASKED_DELIVERY_ADDRESS_CHANGE - The retailer asked for a delivery address change

  • SHIPPING_ADDRESS_MISMATCHES_PICKUP_ADDRESS - The shipping address mismatches the pickup address

  • OTHER - If no reason above is suitable you can use this value, but you MUST provide a reason which accepts a plain text string of 300 characters maximum.

Example reset shipping labels

{


    "data": {
        "type": "brand-resets-shipping-labels-generation",
        "attributes": {
            "resetType": "BRAND_PUT_WRONG_WEIGHT_DIMENSIONS"
        }
    }
}

Example reset shipping labels with OTHER

{


    "data": {
      "type": "brand-resets-shipping-labels-generation",
        "attributes": {
            "rejectType": "OTHER",
            "reason": "a different reason"
        }
    }
}

The order will move from shipping_labels_generated to brand_confirmed.

Shipping an Order

When shipping with either method ankorstore or custom the brand must provide the parcel data it intends to ship the products in. This parcel information is required when generating quote with either shipping method:

  • For custom method :

    • Get the quote : /v1/orders/:orderId/ship/custom
  • For ankorstore method :

    • Get quote list : /v1/orders/:orderId/shipping-quotes

Once the quote is generated, the brand must confirm the selected one by calling :

  • For custom method :

    • Confirm shipping : /v1/shipping-quotes/:quoteId/confirm
  • For ankorstore method :

    • Confirm shipping : /v1/shipping-quotes/:quoteId/confirm

What is the difference between the 2 methods?

Ankorstore : For this option, Ankorstore will pre-select the best carrier option for you after you’ve entered the parcel weight and size based on a competitive quotation offer.

Once the offer is selected a label will be generated and available in order payload

Custom : With this option, you use your preferred carrier and get a reimbursement from us based on our freight costs.

To find out more about Ankorstore's shipping options, please visit our FAQs.

The brand can generate many quotes between both providers or a single one with different parcel configurations before they decide to confirm the quote. An example flow:

flowchart LR


    A[Start] --> B[I want to ship with Ankorstore]
    B --> B.1[Get shipping quote list: <br> orders/:orderId/shipping-quotes]
    B.1 --> B.2{Is the shipping list empty ?}
    B.2 -- NO --> B.YES[I'm happy with at least one proposed quote]
    B.2 -- YES --> B.NO[I can consider to ship with my custom solution]
    B.YES --> D[I Confirm the quote: <br> shipping-quotes/:quoteId/confirm]
    B.NO --> A
    A[Start] --> C[I want to ship with custom: <br> orders/:orderId/ship/custom]
    C --> C.1[Get the quote]
    C.1 --> D

Shipping Methods

Within the shippingOverview object, there is a field that holds the supported shipping methods for an order:

{


  "status": "brand_confirmed",
  ...
  "shippingOverview": {
    "availableShppingMethods": ["custom", "ankorstore"]
  }
}

Please check this before attempting to ship with ankorstore as it may not be available.

Parcels

On either shipping method, if the brand has previously generated a quote and is now generating a new one the full list of parcels must be provided. The quote endpoint cannot be called with an empty parcel list to re-use the old parcel data.

Confirming a quote

To confirm a quote, the ID must be provided when calling the /v1/shipping-quotes/:quoteId/confirm endpoint.

Apart from shippingMethod that is at the order resource level, all information regarding shipping and tracking is stored within the shippingOverview object. This includes the latestQuote generated and the shippingCostsOverview.

Shipping Costs Overview

We advise you to pay attention on the shippingCostsOverview object, especially when type=fee as the amount referenced here will be subtracted from the brandTotalAmount.

In the latestQuote object, an object called shippingCostsOverview might appear depending on the shipping method selected. This object includes the cost of the shipping and the type of the cost :

Fee payload example :

{


  "shippingCostsOverview": {
    "amount": 5160,
    "currency": "EUR",
    "type": "fee"
  }
}

Refund payload example :

{


  "shippingCostsOverview": {
    "amount": 1060,
    "currency": "EUR",
    "type": "refund"
  }
}

If the type is fee, it means that this amount will be subtracted from brand net amount as a contribution to shipping costs. If the type is refund, the amount will be refunded to the brand.

In the new endpoint for listing quotes v1/orders/:orderId/shipping-quotes, the shipping cost of the selected quote will be the fee subtracted from total amount (here 8.07 euros):

{


    "quoteUuid": "1edd47df-b91a-68b0-b517-52e73cd28d4f",
    "carrierCode": "ups",
    "serviceCode": "11",
    "serviceCommercialName": "UPS Standard",
    "collectionMethod": [
        "pickup",
        "drop-off"
    ],
    "shippingCost": {
        "amount": 807,
        "currency": "EUR"
    }
}

Want more information about shipping contribution?

To find out more about Ankorstore's contribution to your shipping costs, please visit our FAQs.

Shipping with the brands own carrier

The quote action will return an amount that will be refunded back to the brand based on the shipping grid refund matrix.

The confirm action is synchronous, meaning when the action is called the order resource will have its status changed to shipped upon returning a response. It is up to brand to provide tracking details for the retailer when calling this action.

sequenceDiagram



  participant O as Order
  participant SWC as Ship : <br> orders/:orderId/ship/custom
  participant SC as Confirm : <br> shipping-quotes/:quoteId/confirm
  participant SH as Shipped

  O->>SWC: Generate quote
  SWC-->>O: Quote OK
  O->>SC: Confirm quote
  SC->>SH: Status
  SC-->>O: OK

In the ship/custom endpoint response, the quote uuid generated is returned in the latestQuote part:



 {
   "latestQuote": {
     "id": "1edd395f-5b57-62ac-9698-521a54b4405f",
     "provider": "custom",
     ...
   }
 }

Shipping with Ankorstore (asynchronous)

When calling the confirm action for the order's Ankorstore shipping quote, the returned order resource's status will still be brand_confirmed. A job in the background will generate the shipping labels for the order. It is this background processing that moves the status to shipping_labels_generated.

How will I know when the labels have been generated?

Right now, the order must be polled periodically. Checking every minute would be suitable to detect the status change and then pull the label PDF data within the shippingOverview of an order resource.

sequenceDiagram


  participant O as Order
  participant SWA as Ship with Ankor : <br> orders/:orderId/shipping-quotes
  participant SC as Confirm shipping : <br> shipping-quotes/:quoteId/confirm
  participant BG as Async Processing
  participant C as Carrier
  participant SH as Shipped

  O->>SWA: Get shipping quote list
  SWA-->>O: I accept one quote
  O->>SC: I confirm the quote
  SC-->>O: OK status=brand_confirmed
  SC-->>BG: Dispatch generate labels job
  Note over SC,BG: Async worker job
  BG-->>O: Labels generated, status=shipping_labels_generated
  Note over BG,O: (Async worker)
  C-->>SH: Parcels scanned, status=shipped
  Note over C,SH: (External service)

At step 6 (shipping labels generated) the download URL's for each packages label will be available within the shippingOverview of an order resource. These labels are in PDF format and will also be visible in order details page on Ankorstore.

Schedule a Pickup

If the brand is not taking the parcels to the local drop-off point for the carrier the brand can schedule a pickup for this order. A pickup can only be scheduled on a working day (monday to friday). For full information please refer to the API documentation.

Pickup is not accepted

For now, Ankorstore does not know in advance which date/time configuration is available, if the requested pickup is denied please try a different date or time frame.

Shipping an Order (Deprecated)

:zap: This documentation is deprecrated

When shipping with either method ankorstore or custom the brand must provide the parcel data it intends to ship the products in. This parcel information is required when generating a quote with either shipping method:

  • /v1/orders/{id}/ship/custom
  • /v1/orders/{id}/ship/ankorstore

The brand can generate many quotes between both providers or a single one with different parcel configurations before they decide to confirm the quote. An example flow:

sequenceDiagram

participant O as Order
participant SWC as Ship Custom
participant SWA as Ship Ankor
participant SC as Ship Confirm

O->>SWC: Generate quote
SWC-->>O: Unhappy with refund
O->>SWA: Generate quote
SWA-->>O: Cannot generate quote for retailers ship to address
Note over SWA,O: Sometimes AK shipping providers (UPS) cannot ship to certain addresses etc.
SWA-->>O: Unhappy with shipping cost fee
Note over SWA,O: A fee can be created as a contribution of the brand depending on the shipping costs
O->>SWC: Generate new custom quote
Note over O,SWC: Quote needs to be regenerated.
Note over O,SWC: Confirm endpoint uses last generated quote.
SWC->>SC: Brand ships with custom

Shipping Methods

Within the shippingOverview object, there is a field that holds the supported shipping methods for an order:

{


  "status": "brand_confirmed",
  ...
  "shippingOverview": {
    "availableShippingMethods": ["custom", "ankorstore"]
  }
}

Please check this before attempting to ship with ankorstore as it may not be available.

Parcels

On either shipping method, if the brand has previously generated a quote and is now generating a new one the full list of parcels must be provided. The quote endpoint cannot be called with an empty parcel list to re-use the old parcel data.

Confirming a quote

When confirming a quote only the last generated quote is used - this is the one in the order resource latestQuote. The /v1/orders/{id}/ship/confirm endpoint does not currently accept a quote ID.

Apart from shippingMethod that is at the order resource level, all information regarding shipping and tracking is stored within the shippingOverview object. This includes the latestQuote generated and the shippingCostsOverview.

Shipping Costs Overview

We advise you to pay attention on the shippingCostsOverview object, especially when type=fee as the amount referenced here will be subtracted from the brandTotalAmount.

In the latestQuote object, an object called shippingCostsOverview might appear depending on the shipping method selected. This object includes the cost of the shipping and the type of the cost :

Fee payload example :

{


  "shippingCostsOverview": {
    "amount": 5160,
    "currency": "EUR",
    "type": "fee"
  }
}

Refund payload example :

{


  "shippingCostsOverview": {
    "amount": 1060,
    "currency": "EUR",
    "type": "refund"
  }
}

If the type is fee, it means that this amount will be subtracted from brand net amount as a contribution to shipping costs. If the type is refund, the amount will be refunded to the brand.

Want more information about shipping contribution?

To find out more about Ankorstore's contribution to your shipping costs, please visit our FAQs.

Shipping with the brands own carrier

The quote action will return an amount that will be refunded back to the brand based on the shipping grid refund matrix.

The confirm action is synchronous, meaning when the action is called the order resource will have its status changed to shipped upon returning a response. It is up to brand to provide tracking details for the retailer when calling this action.

sequenceDiagram



  participant O as Order
  participant SWC as Ship Custom
  participant SC as Ship Confirm
  participant SH as Shipped

  O->>SWC: Generate quote
  SWC-->>O: Quote OK
  O->>SC: Confirm quote
  SC->>SH: Status
  SC-->>O: OK

Shipping with Ankorstore (asynchronous)

When calling the confirm action for the order's Ankorstore shipping quote, the returned order resource's status will still be brand_confirmed. A job in the background will generate the shipping labels for the order. It is this background processing that moves the status to shipping_labels_generated.

How will I know when the labels have been generated?

Right now, the order must be polled periodically. Checking every minute would be suitable to detect the status change and then pull the label PDF data within the shippingOverview of an order resource.

sequenceDiagram



  participant O as Order
  participant SWA as Ship Ankor
  participant SC as Ship Confirm
  participant BG as Async Processing
  participant C as Carrier
  participant SH as Shipped

  O->>SWA: Generate quote
  SWA-->>O: Quote OK
  O->>SC: Confirm quote
  SC-->>O: OK status=brand_confirmed
  SC-->>BG: Dispatch generate labels job
  Note over SC,BG: Async worker job
  BG-->>O: Labels generated, status=shipping_labels_generated
  Note over BG,O: (Async worker)
  C-->>SH: Parcels scanned, status=shipped
  Note over C,SH: (External service)

At step 6 (shipping labels generated) the download URL's for each packages label will be available within the shippingOverview of an order resource. These labels are in PDF format and will also be visible in order details page on Ankorstore.

Schedule a Pickup

If the brand is not taking the parcels to the local drop-off point for the carrier the brand can schedule a pickup for this order. A pickup can only be scheduled on a working day (monday to friday). For full information please refer to the API documentation.

Pickup is not accepted

For now, Ankorstore does not know in advance which date/time configuration is available, if the requested pickup is denied please try a different date or time frame.

List Orders

Returns all orders, can be filtered by retailer ID or by order status.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
query Parameters
filter[retailer]
string
Example: filter[retailer]=23e4567-e89b-12d3-a456-426614174000

Retailer Id

filter[status]
string
Enum: "ankor_confirmed" "rejected" "brand_confirmed" "shipping_labels_generated" "fulfillment_requested" "shipped" "reception_refused" "received" "invoiced" "brand_paid" "cancelled"
Example: filter[status]=ankor_confirmed

Order Status

page[limit]
integer <int64>

limit the amount of results returned

page[before]
string

show items before the provided ID (uuid format)

page[after]
string

show items after the provided ID (uuid format)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "meta": {
    • "page": {
      • "from": "123e4567-e89b-12d3-a456-426614174000",
      • "hasMore": true,
      • "perPage": 2,
      • "to": "1ecb023e-7ec0-6d5c-a477-0242ac170008"
      }
    },
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      • "type": "orders",
      • "id": "123e4567-e89b-12d3-a456-426614174000",
      • "attributes": {
        },
      • "relationships": {
        }
      },
    • {
      • "type": "orders",
      • "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

Get Order

Retrieve a specific order

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-7ec0-6d5c-a477-0242ac170009",
    • "attributes": {
      • "status": "invoiced",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 20596,
      • "brandTotalAmount": 23405,
      • "brandTotalAmountVat": 0,
      • "brandTotalAmountWithVat": 23405,
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-15T10:05:09+00:00",
      • "shippedAt": "2022-03-17T15:05:19+00:00",
      • "brandPaidAt": null,
      • "createdAt": "2022-03-13T16:36:24+00:00",
      • "updatedAt": "2022-03-31T11:57:13+00:00",
      • "shippingMethod": "ankorstore",
      • "shippingOverview": {
        }
      }
    },
  • "included": [
    • {
      • "type": "retailer",
      • "id": "3b656e82-0260-1ecb-9e4c-0242ac170007",
      • "attributes": {
        }
      }
    ]
}

Configuration for the current user

Returns configuration for the current user

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "currency": "string",
      • "country": "string",
      • "browserId": "string"
      },
    • "required": null
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Transition an order

Transition an order to a new state. This endpoint can be used to accept an order (with or without modifications), reject an order or reset generated shipping labels currently. Please see the documentation for more information.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
Brand Accepts Payload (object) or Brand Rejects Payload (object) or Brand Resets Shipping Labels Generation (object)
One of
type
required
string
Value: "brand-validates"

The transition to use

object
Array of objects unique

To accept the order as is, leave array empty.
To modify a single items quantity, include it with the new quantity value.
To remove an order item, specify its quantity as 0.
Some products are sold in fixed quantities, e.g a case of 6 wine bottles. To confirm a pack of 6 bottles pass a quantity of 1.

Array
id
required
string

Order Item Uuid

type
required
string
Value: "order-items"
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    • "type": "brand-validates"
    }
}

Response samples

Content type
application/vnd.api+json
Example
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-8ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "brand_confirmed",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 10229,
      • "brandTotalAmount": 10940,
      • "brandTotalAmountVat": 602,
      • "brandTotalAmountWithVat": 11542,
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-17T13:19:33+00:00",
      • "shippedAt": null,
      • "brandPaidAt": null,
      • "createdAt": "2022-02-01T14:37:10+00:00",
      • "updatedAt": "2022-03-31T15:10:07+00:00",
      • "shippingMethod": null,
      • "shippingOverview": {
        }
      }
    }
}

[Deprecated] Accept Order Deprecated

[Deprecated] Please use the Order Transition endpoint.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-8ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "brand_confirmed",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 10229,
      • "brandTotalAmount": 10940,
      • "brandTotalAmountVat": 602,
      • "brandTotalAmountWithVat": 11542,
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-17T13:19:33+00:00",
      • "shippedAt": null,
      • "brandPaidAt": null,
      • "createdAt": "2022-02-01T14:37:10+00:00",
      • "updatedAt": "2022-03-31T15:10:07+00:00",
      • "shippingMethod": null,
      • "shippingOverview": {
        }
      }
    }
}

[Deprecated] Reject Order Deprecated

[Deprecated] Please use the Order Transition endpoint.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
rejectReason
string [ 1 .. 1000 ] characters

A detailed description of the reason for the order rejection. Required if reject type "OTHER" is used, optional for the rest of the predefined reject types

rejectType
required
string
Enum: "BRAND_ALREADY_HAS_CUSTOMER_IN_THE_AREA" "BRAND_CANNOT_DELIVER_TO_THE_AREA" "BRAND_HAS_EXCLUSIVE_DISTRIBUTOR_IN_THE_REGION" "BUYER_NOT_A_RETAILER" "ORDER_ITEMS_PRICES_INCORRECT" "PAYMENT_ISSUES_WITH_RETAILER" "PREPARATION_TIME_TOO_HIGH" "PRODUCT_OUT_OF_STOCK" "PURCHASE_NOT_FOR_RESALE" "RETAILER_AGREED_TO_DO_CHANGES_TO_ORDER" "RETAILER_NOT_GOOD_FIT_FOR_BRAND" "RETAILER_VAT_NUMBER_MISSING" "OTHER"

One of the available reject reasons. If this field is omitted from the payload it will default to OTHER to ensure backwards compatibility. Please note that this field will be mandatory in the future.

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "order": {
    • "rejectType": "PRODUCT_OUT_OF_STOCK"
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "rejected",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 10229,
      • "brandTotalAmount": 10940,
      • "brandTotalAmountVat": 602,
      • "brandTotalAmountWithVat": 11542,
      • "brandRejectReason": "Products not in stock.",
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-17T13:19:33+00:00",
      • "shippedAt": null,
      • "brandPaidAt": null,
      • "createdAt": "2022-02-01T14:37:10+00:00",
      • "updatedAt": "2022-03-31T15:10:07+00:00",
      • "shippingMethod": null,
      • "shippingOverview": {
        }
      }
    }
}

Product

Options vs Variants

Both, options and variants refer to same concept of having variations of a given product (i.e. Same t-shirt model but different color).

Options are deprecated now in favour of variants and no further development will be done on them.

Options allow configuring size, color and other type of variations for a product.

Variants allow configuring many more parameters, including:

  • Custom variation name (i.e. neckline for a t-shirt)
  • Custom pricing (including discount)
  • Custom images per variant
  • ... and many more to come!

Migrating from Options to Variants

In order to start using the new variant system you just need to contact your Ankorstore agent and we will manage everything for you.

What will change when migrating to variants?

This is not a breaking change, so endpoints will keep returning information related to options for all the existing orders in our system as well as for all the orders created from the migration onwards.

We strongly recommend to start relying on information provided by variants section after the migration will be completed for your brand. Variants will contain information related to new features that won't be supported by the actual options system, so the information provided by options related to your order items may be incomplete.

Working with Products

Here you will find information about the product resource and its sub-resources. If you need further information please refer to the API specification.

Including Product Variants

When retrieving the individual product via the API, you may pass an ?include=productVariants query parameter that will return associated product variants inside the included root level object.

Important Fields within Product Resource

If the field contains no data, it will be null.

List Products

Returns all products

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
query Parameters
page[limit]
integer <int64>

limit the amount of results returned

page[before]
string

show items before the provided ID (uuid format)

page[after]
string

show items after the provided ID (uuid format)

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "meta": {
    • "page": {
      • "from": "123e4567-e89b-12d3-a456-426614174000",
      • "hasMore": true,
      • "perPage": 2,
      • "to": "1ecb023e-7ec0-6d5c-a477-0242ac170008"
      }
    },
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      • "type": "product",
      • "id": "0c5e6540-0da9-1ecb-bf59-0242ac170007",
      • "attributes": {
        }
      },
    • {
      • "type": "product",
      • "id": "c8466a3c-4fb8-4474-a86f-20f10d14314f",
      • "attributes": {
        }
      }
    ]
}

Get Product

Retrieve a specific product

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
product
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "product",
    • "id": "0c5e6540-0da9-1ecb-bf59-0242ac170007",
    • "attributes": {
      • "name": "Example Product",
      • "description": "Example description of product",
      • "language": "fr",
      • "dimensions": "5,5x5,5x6",
      • "netWeight": "100G",
      • "capacity": "100g",
      • "position": 34,
      • "unitMultiplier": 12,
      • "vatRate": 5.5,
      • "discountRate": 0,
      • "active": true,
      • "outOfStock": false,
      • "archived": false,
      • "retailPrice": 750,
      • "wholesalePrice": 426,
      • "originalWholesalePrice": 426,
      • "createdAt": "2020-08-27T14:26:38.000000Z",
      • "indexedAt": "2022-02-10T03:26:11.000000Z",
      • "updatedAt": "2022-02-09T14:49:09.000000Z"
      }
    },
  • "included": [
    • {
      • "type": "productVariant",
      • "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
      • "attributes": {
        },
      • "relationships": {
        }
      }
    ]
}

List Product Variants with their stock

Returns all product variants with their stock

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
header Parameters
Accept
string

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{}

Get product variant with stock

Get product variant with stock

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
productVariant
required
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "productVariant",
    • "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
    • "attributes": {
      • "name": "Test Product Variant",
      • "sku": "Product-Variant-001",
      • "ian": "1924859325863",
      • "createdAt": "2020-08-27T14:29:15.000000Z",
      • "updatedAt": "2021-10-04T12:03:31.000000Z",
      • "archivedAt": null,
      • "retailPrice": 800,
      • "wholesalePrice": 500,
      • "originalWholesalePrice": 500,
      • "availableQuantity": 125,
      • "reservedQuantity": 25,
      • "stockQuantity": 150,
      • "isAlwaysInStock": false
      },
    • "relationships": {
      • "product": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Shipping

Ship Order With Custom

Ship using the brands own method

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
required
Array of objects non-empty unique
Array (non-empty)
length
required
integer <= 274
width
required
integer <= 274
height
required
integer <= 274
distanceUnit
required
string
Value: "cm"

The unit of distance

weight
required
integer [ 1 .. 30000 ]
massUnit
required
string
Value: "g"

The unit of mass

Responses

Request samples

Content type
application/vnd.api+json
{
  • "shipping": {
    • "parcels": [
      • {
        },
      • {
        }
      ]
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "brand_confirmed",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 10229,
      • "brandTotalAmount": 10940,
      • "brandTotalAmountVat": 602,
      • "brandTotalAmountWithVat": 11542,
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-17T13:19:33+00:00",
      • "shippedAt": null,
      • "brandPaidAt": null,
      • "createdAt": "2022-02-01T14:37:10+00:00",
      • "updatedAt": "2022-03-31T15:10:07+00:00",
      • "shippingMethod": "custom",
      • "shippingOverview": {
        }
      }
    }
}

List Shipping Quotes

List multiple carrier service quotes that you can choose to ship your order. Please visit our FAQs for more information.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
Array of objects [ 1 .. 20 ]
Array
kg
required
number <= 30

The weight of the parcel in kilograms

height
required
number <= 274

The height of the parcel in centimeters

length
required
number <= 274

The length of the parcel in centimeters

width
required
number <= 274

The width of the parcel in centimeters

no_dangerous_product
boolean

Indicates if the parcel contains dangerous products

Responses

Request samples

Content type
application/vnd.api+json
{
  • "parcels": [
    • {
      • "length": 20,
      • "width": 20,
      • "height": 20,
      • "kg": 21
      }
    ],
  • "no_dangerous_product": true
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": [
    • {
      • "quoteUuid": "1eda3cbb-983b-6a4a-b395-6a0440190584",
      • "carrierCode": "ups",
      • "serviceCode": "11",
      • "serviceCommercialName": "UPS STANDARD",
      • "collectionMethod": [
        ],
      • "shippingCost": {
        }
      }
    ]
}

[Deprecated] Ship Order with Ankorstore Deprecated

This endpoint is deprecated. We encourage you to use the List Order Quotes endpoint instead.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
object
required
Array of objects non-empty unique
Array (non-empty)
length
required
integer <= 274
width
required
integer <= 274
height
required
integer <= 274
distanceUnit
required
string
Value: "cm"

The unit of distance

weight
required
integer [ 1 .. 30000 ]
massUnit
required
string
Value: "g"

The unit of mass

Responses

Request samples

Content type
application/vnd.api+json
{
  • "shipping": {
    • "parcels": [
      • {
        }
      ]
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "brand_confirmed",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 10229,
      • "brandTotalAmount": 10940,
      • "brandTotalAmountVat": 602,
      • "brandTotalAmountWithVat": 11542,
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-17T13:19:33+00:00",
      • "shippedAt": null,
      • "brandPaidAt": null,
      • "createdAt": "2022-02-01T14:37:10+00:00",
      • "updatedAt": "2022-03-31T15:10:07+00:00",
      • "shippingMethod": "ankorstore",
      • "shippingOverview": {
        }
      }
    }
}

Confirm Shipping Quote

Use this endpoint to confirm which quote you want to use to ship your order. You can confirm either custom or ankorstore quote.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
quoteId
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
labelFormat
string
Default: "default"
Enum: "full_page" "default"

This field is not required. If you don't' define it we will use the default label format as well.

object or object
One of
trackingProvider
required
string

Tracking provider is required with trackingNumber if your define an tracking key in your payload. You can define trackingLink instead of define trackingProvider & trackingNumber

trackingNumber
required
string

The tracking number (may contain characters as well)

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "labelFormat": "default"
}

Response samples

Content type
application/vnd.api+json
Example
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "id": "991836",
    • "uuid": "1eda3cbb-983b-6a4a-b395-6a0440190584",
    • "orderUuid": "1ed9f5cc-ce42-625a-a8f1-b6ea0809b6f7",
    • "provider": "ups",
    • "currency": "EUR",
    • "shippingCost": "€12.00"
    }
}

[Deprecated] Confirm Order Shipping Deprecated

[Deprecated] Please use the Confirm Shipping Quote endpoint.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
object or object
One of
trackingProvider
required
string

Tracking provider is required with trackingNumber if your define an order key in your payload. You can define trackingLink instead of define trackingProvider & trackingNumber

trackingNumber
required
string

The tracking number (may contain characters as well)

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "order": {
    • "trackingProvider": "ups",
    • "trackingNumber": "123456"
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "brand_confirmed",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 10229,
      • "brandTotalAmount": 10940,
      • "brandTotalAmountVat": 602,
      • "brandTotalAmountWithVat": 11542,
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-17T13:19:33+00:00",
      • "shippedAt": null,
      • "brandPaidAt": null,
      • "createdAt": "2022-02-01T14:37:10+00:00",
      • "updatedAt": "2022-03-31T15:10:07+00:00",
      • "shippingMethod": "custom",
      • "shippingOverview": {
        }
      }
    }
}

Schedule Pickup for order

Use this endpoint for scheduling a pickup for the order

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
order
required
string <uuid>
Default: "079ba9ad-dcdb-4dda-ba0a-1174dad313c5"
query Parameters
include
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
object
One of
pickupDate
required
string

Requested date for the pickup

pickupTime
required
string

Time period for the pickup (9-15 or 11-17)

pickupAddress
required
object

Address for the pickup

Responses

Request samples

Content type
application/vnd.api+json
{
  • "pickupDate": "07-04-2022",
  • "pickupTime": "9-15",
  • "pickupAddress": {
    • "name": "John Doe",
    • "contactName": "John Doe",
    • "countryCode": "FR",
    • "city": "Rennes",
    • "postalCode": "35000",
    • "street": "1 rue des lilas",
    • "phoneNumber": "+33700000000"
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "shipped",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandTotalAmount": 12588,
      • "brandTotalAmountVat": 693,
      • "brandTotalAmountWithVat": 13281,
      • "shippingMethod": "ankorstore",
      • "shippingOverview": {},
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-02-02T20:15:05.000000Z",
      • "shippedAt": "2022-02-09T15:05:27.000000Z",
      • "brandPaidAt": null,
      • "createdAt": "2022-02-02T19:42:31.000000Z",
      • "updatedAt": "2022-03-11T08:57:56.000000Z"
      },
    • "relationships": {
      • "retailer": {
        }
      }
    },
  • "included": [
    • {
      • "type": "retailer",
      • "id": "092b63ce-c5b9-1eca-b05f-0242ac170007",
      • "attributes": {
        }
      }
    ]
}

Stock Management

Product Stock Management

This API allows you to manage your product variants stock in both single- and bulk-operation mode. There are 2 opposite options available for the stock update requests - set an explicit product quantity or mark the corresponding product as "always in stock".

Set product variant stock explicit quantity

To set an explicit quantity for the particular product variant, you should specify the amount in the payload. In case if the target product variant was previously marked as "always in stock", this option will be disabled and the stock will be set to given value.

Example of the payload to set a product variant stock to the given value (single-operation mode):

PATCH /api/v1/product-variants/1ed18988-6651-610e-8223-aa5cd9844f96/stock

{


  "data": {
    "type": "productVariants",
    "id": "1ed18988-6651-610e-8223-aa5cd9844f96",
    "attributes": {
      "stockQuantity": 123
    }
  }
}

More details can be found in the endpoint specification

Set product variant as "always in stock"

To mark a particular product variant as "always in stock" and do not care about the stock amounts, you should include a flag isAlwaysInStock into the request payload. In case if the target product variant had explicit stock amount set previously, it will be reset.

Example of the payload to set a product variant stock to the given value (single-operation mode):

PATCH /api/v1/product-variants/1ed18988-6651-610e-8223-aa5cd9844f96/stock

{


  "data": {
    "type": "productVariants",
    "id": "1ed18988-6651-610e-8223-aa5cd9844f96",
    "attributes": {
      "isAlwaysInStock": true
    }
  }
}

More details can be found in the endpoint specification

Update stocks of multiple product variants in single request (bulk-operation mode)

This API allows to update stocks of multiple product variants in single request. There is a specific endpoint which accepts up to 50 operations per request. Validation, business rules and payload of each operation is identical to the single-operation mode, described above.

Example of the payload to update stocks of multiple product variants in single request:

POST /api/v1/operations

{


  "atomic:operations": [
    {
      "op": "update",
      "data": {
        "type": "productVariants",
        "id": "1ed18988-3253-610e-8223-aa5cd9844001",
        "attributes": {
          "isAlwaysInStock": true
        }
      }
    },
    {
      "op": "update",
      "data": {
        "type": "productVariants",
        "id": "1ed18988-6651-610e-8223-aa5cd9844f96",
        "attributes": {
          "stockQuantity": 123
        }
      }
    }
  ]
}

More details can be found in the endpoint specification

Update product variant stock

Update product variant stock

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
productVariant
required
header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Request Body schema: application/vnd.api+json
required
ProductVariantStockUpdateSetStockQuantity (object) or ProductVariantStockUpdateSetIsAlwaysInStockRequest (object)
Any of
id
required
type
required
required
object
stockQuantity
required
number >= 0

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "product-variants",
    • "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
    • "attributes": {
      • "isAlwaysInStock": false,
      • "stockQuantity": 20
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "productVariant",
    • "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
    • "attributes": {
      • "name": "Test Product Variant",
      • "sku": "Product-Variant-001",
      • "ian": "1924859325863",
      • "createdAt": "2020-08-27T14:29:15.000000Z",
      • "updatedAt": "2021-10-04T12:03:31.000000Z",
      • "archivedAt": null,
      • "retailPrice": 800,
      • "wholesalePrice": 500,
      • "originalWholesalePrice": 500,
      • "availableQuantity": 125,
      • "reservedQuantity": 25,
      • "stockQuantity": 150,
      • "isAlwaysInStock": false
      },
    • "relationships": {
      • "product": {
        }
      }
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}

Bulk Operations

Multiple operations on different resources by a single request

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
Request Body schema: application/vnd.api+json
required
Array of objects [ 1 .. 50 ] items
Array ([ 1 .. 50 ] items)
op
required
string
Value: "update"
required
ProductVariantStockUpdateSetIsAlwaysInStockRequest (object) or ProductVariantStockUpdateSetStockQuantity (object)
Any of
id
required
type
required
required
object
isAlwaysInStock
required
boolean

Whether the current product variant is always in stock

Responses

Request samples

Content type
application/vnd.api+json
No sample

Response samples

Content type
application/vnd.api+json
{
  • "atomic:results": [
    • {
      • "data": {
        }
      }
    ]
}

Testing

Creating Test Orders

When using the public sandbox, a subsection of the API will be available to create test orders.

This endpoint /api/testing/orders/create can be called to create a new test order with a new retailer, and a couple of new products.

You can also pass in options to specify the exact retailer or products themselves. To find out more, you can view the endpoint specification here.

Finding the Retailer Id

There is an option to specify the retailerId to use the same retailer for every test order, to find this, login as that retailer you created and open up the developer tools. You will see it logged to the console.

Create Test Order (Sandbox Only)

Creates a test order ready to be confirmed based on the options provided. ONLY AVAILABLE IN SANDBOX.

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
query Parameters
include
header Parameters
Accept
string

application/vnd.api+json

Content-Type
string

application/vnd.api+json

Request Body schema: application/vnd.api+json

The options that can be provided when creating a test order

retailerId
string or null

The Retailer Id

itemQuantity
integer or null [ 1 .. 999 ]

If productVariants/productOptions are not provided, then this will set the quantity each order item created.

Array of objects or null unique

List of variant IDs and their quantities. Cannot be included with productOptions.

Array
id
itemQuantity
integer [ 1 .. 999 ]
Array of objects or null unique

List of option IDs and their quantities - Only use if you are currently using the old options system. Cannot be included with productVariants

Array
id
itemQuantity
integer [ 1 .. 999 ]

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "retailerId": "5ee4d438-0489-4634-aa60-746f485af458"
}

Response samples

Content type
application/vnd.api+json
{
  • "jsonapi": {
    • "version": "1.0"
    },
  • "data": {
    • "type": "order",
    • "id": "1ecb023e-8ec0-6d5c-a477-0242ac170007",
    • "attributes": {
      • "status": "brand_confirmed",
      • "reference": 3434273911,
      • "brandCurrency": "EUR",
      • "brandNetAmount": 10229,
      • "brandTotalAmount": 10940,
      • "brandTotalAmountVat": 602,
      • "brandTotalAmountWithVat": 11542,
      • "brandRejectReason": null,
      • "retailerRejectReason": null,
      • "retailerCancellationRequestReason": null,
      • "billingName": "Charles Attan",
      • "billingOrganisationName": "Jumbo",
      • "billingStreet": "Kortricklaan 101",
      • "billingPostalCode": "8121 GW",
      • "billingCity": "Arnhem",
      • "billingCountryCode": "NL",
      • "submittedAt": "2022-03-17T13:19:33+00:00",
      • "shippedAt": null,
      • "brandPaidAt": null,
      • "createdAt": "2022-02-01T14:37:10+00:00",
      • "updatedAt": "2022-03-31T15:10:07+00:00",
      • "shippingMethod": null,
      • "shippingOverview": {
        }
      }
    }
}

User

Configuration for the current user

Returns configuration of the specified user

Authorizations:
Ankorstore_ProductionOAuth2ClientCredentials
path Parameters
id
required
string <uuid>

User ID

header Parameters
Accept
string
Default: application/vnd.api+json

application/vnd.api+json

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "string",
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "attributes": {
      • "currency": "string",
      • "country": "string",
      • "browserId": "string"
      },
    • "required": null
    },
  • "jsonapi": {
    • "version": "string",
    • "meta": { }
    }
}